728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12947
코드
function solution(x) {
let sum = 0;
x = String(x).split(""); //숫자 x를 단위 하나씩 배열화
for (let i of x) {
i = parseInt(i); //배열에 들어가있는 수는 문자이니 정수화
sum += i;
}
return (parseInt(x.join("")) % sum === 0) ? true : false;
}
후기
- 처음에 parseInt() 대신에 Number()를 사용했는데, 오류가 나길래 두 함수의 차이점에 대해 알아보았다
- Num(), parseInt() : 문자열을 숫자로 형변환 해주는 함수
- 공통점 : 둘 다 숫자로 구성된 문자열을 number타입의 숫자로 형변환 해준다
- 차이점
- Number() : 문자열에 숫자 외의 문자가 껴 있으면 NaN을 반환
- parseInt() : 문자열에 숫자 외의 문자가 있어도 숫자까지만 인식하고 형변환 해준다 (하지만, 숫자 외의 문자로 문자열이 시작된다면 마찬가지로 NaN을 반환)
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 최대공약수와 최소공배수 / JavaScript (0) | 2022.01.20 |
---|---|
[Programmers] 행렬의 덧셈 / JavaScript (0) | 2022.01.20 |
[Programmers] 핸드폰 번호 가리기 / JavaScript (0) | 2022.01.20 |
[Programmers] 문자열 내림차순으로 배치하기 / JavaScript (0) | 2022.01.20 |
[Programmers] 시저 암호 / JavaScript (0) | 2022.01.20 |