하샤드 수
문제: 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. x가 하샤드 이면 trun 아니면 false를 반환하라.
풀이: x를 split를 이용해 한 글자씩 나눠 배열로 만들고 reduce()를 이용해 다 더한 후 x에 %하여 === 0을 한다.
function solution(x) {
let num = x.toString().split('').reduce((a, b) => Number(a) + Number(b));
return x % num === 0;
}
정수 내림차순으로 배치하기
문제: 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 return.
풀이: 정수를 문자열로 바꾼 뒤 split()로 배열로 바꾼 뒤 sort()를 이용해 바꾸고 join()으로 합친 후 숫자형으로 바꾼다.
function solution(n) {
return Number(n.toString().split('').sort((a, b) => b - a).join(''));
}
나머지가 1이 되는 수 찾기
문제: 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return
풀이: ...
function solution(n) {
for (let i = 0; i < n; i++) {
if (n % i === 1) {
return i
}
}
}
'프로그래머스 JS LV1' 카테고리의 다른 글
LV1 06 핸드폰 번호 가리기, 나누어 떨어지는 숫자 배열 (0) | 2022.12.12 |
---|---|
LV1 05 두 정수 사이의 합, 콜라츠 추측, 서울에서 김서방 찾기 (0) | 2022.12.10 |
LV1 03 문자열 내 p와 y의 개수, 문자열을 정수로 바꾸기,x만큼 간격이 있는 n개의 숫자 (0) | 2022.12.08 |
LV1 02 자릿수 더하기, 자연수 뒤집어 배열로 만들기, 정수 제곱근 판별 (0) | 2022.12.02 |
LV1 01 짝수와 홀수, 약수의 합, 평균 구하기 (0) | 2022.12.01 |