반응형
문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. |
제한 조건
|
초기 코드
function solution(x) {
var answer = true;
return answer;
}
코드 풀이 설명
function solution(x) {
// 더해줄 sum에 초기값 0 할당
let sum = 0;
// 자릿수를 더하기 위해 문자열로 변환하여 쪼개기
let result = String(x).split('');
// sum의 초기값에 숫자로 변환한 result의 i번째 인덱스를 더해줌
for (let i = 0; i < result.length; i++) {
sum += Number(result[i]);
}
// x를 sum으로 나눴을 때 나누어 떨어지면 true, 아니면 flase
return (x % sum === 0) ? true : false;
}
- X는 1 이상, 10000 이하인 정수이므로 자릿수를 더해주기 위해 문자열로 변환한다.
- 문자열로 변환한 후 for문을 이용해 result의 길이만큼 돌린 후, sum에 할당되어있는 0에 result의 i번째 인덱스들을 숫자로 바꿔 더해준다.
- 그 후 원래 숫자인 X를 sum으로 나눈 나머지가 0일 경우 true를 반환하고 아닐 경우 false를 반환한다.
프로그래머스 코딩테스트 연습 - 하샤드 수
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
[코딩테스트 연습] 정수 제곱근 판별 자바스크립트 풀이
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리
choijying21.tistory.com
[코딩테스트 연습] 정수 내림차순으로 배치하기 자바스크립트 풀이
문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조
choijying21.tistory.com
반응형