[프로그래머스/자바스크립트(JavaScript)] 하샤드 수
글 작성자: 망고좋아
반응형
🎯 하샤드 수
📁 문제 출처
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
💡 생각
- 입력받은 x를 문자열로 변환 -> 하나씩 잘라줘서 다시 숫자로 변환해서 배열에 저장
- 저장한 배열을 reduce로 더해주기
🛠 나의 코드
function solution(x) {
let answer = true;
let tempArr = []
let num = String(x)
for(let i = 0; i < num.length; i++) {
tempArr.push(Number(num[i]));
}
let sum = tempArr.reduce((a, b) => (a + b))
if (!(x % sum === 0)) {
answer = false;
}
return answer;
}
다른 풀이
function solution(x) {
let answer = true;
let arr = String(x).split('');
let sum = 0
for(let i = 0; i < arr.length; i++) {
sum += Number(arr[i]);
}
if (!(x % sum === 0)) {
answer = false;
}
return answer;
}
String(x).split('');
을 사용하면 한 번에 문자열을 잘라서 배열에 저장할 수 있다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바스크립트(JavaScript)] 최대공약수와 최소공배수 (0) | 2021.09.16 |
---|---|
[프로그래머스/자바스크립트(JavaScript)] 정수 내림차순으로 배치하기 (0) | 2021.09.15 |
[프로그래머스/자바스크립트(JavaScript)] 핸드폰 번호 가리기 (0) | 2021.09.15 |
[프로그래머스/자바스크립트(JavaScript)] 직사각형 별찍기 (0) | 2021.09.15 |
[프로그래머스/자바스크립트(JavaScript)] x만큼 간격이 있는 n개의 숫자 (0) | 2021.09.15 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스/자바스크립트(JavaScript)] 최대공약수와 최소공배수
[프로그래머스/자바스크립트(JavaScript)] 최대공약수와 최소공배수
2021.09.16 -
[프로그래머스/자바스크립트(JavaScript)] 정수 내림차순으로 배치하기
[프로그래머스/자바스크립트(JavaScript)] 정수 내림차순으로 배치하기
2021.09.15 -
[프로그래머스/자바스크립트(JavaScript)] 핸드폰 번호 가리기
[프로그래머스/자바스크립트(JavaScript)] 핸드폰 번호 가리기
2021.09.15 -
[프로그래머스/자바스크립트(JavaScript)] 직사각형 별찍기
[프로그래머스/자바스크립트(JavaScript)] 직사각형 별찍기
2021.09.15