프로그래머스 1단계
하샤드 수를 하샤하게 풀어보도록 하겠습니다
하샤한 마음으로 출발~~~~~~🕺🏻
하샤드 수!
do while문을 통해 계산 후 최종적으로 num과 sum의 나머지를 !로 반전시켜 true/false 여부를 결정짓는 방법입니다.
1. num은 x, sum은 0d으로 설정합니다.
2. do while문을 통해
3. sum에 x나누기 10 한 값을 sum에 더해주고
4. x에는 x나누기 10을 한 값을 반올림하여 x에 저장시켜 준뒤
5. x가 0 초과가 될때까지 반복시켜줍니다.
6. 최종적으로 num나누기 sum의 나머지 값에 !를 붙여 false는 true로, true는 false가 나오도록 해줍니다.
function solution(x) {
let num = x;
let sum = 0;
do {
sum += x%10;
x = Math.floor(x/10);
} while (x>0);
return !(num%sum);
}
하샤드 수 : 다른 사람 풀이
for와 if를 통한 각 strn에 저장된 값을 정수로 변환 후 Num에 저장시켜 n과 나눈 값을 기준으로 true/false를 결정짓는 방법입니다.
1. strn은 n의 값을 string으로 변환한 값을
2. num은 0의 값을 담습니다
3. for를 통해 i의 값은 0, strn의 길이의 미만이 될때까지 i를 증가시켜 줍니다
4. strn에 담긴 i번째 값을 정수로 변환 후 num에 더해줍니다
5. 위와 같은 과정을 거친 뒤 if를 통해 n나누기 num의 나머지가 0과 같다면
6. result에 true를 저장 아닐시 result에 false 저장
7. 최종적으로 result 값을 반환.
function Harshad(n){
var result;
var strn = n.toString();
var num = 0;
for (var i=0; i<strn.length; i++) {
num += parseInt(strn[i]);
}
if (n % num === 0) {
result = true;
} else {
result = false;
}
return result;
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 1단계 : 콜라츠 추측 (1) | 2022.11.10 |
---|---|
프로그래머스 1단계 : 가운데 글자 가져오기! (6) | 2022.11.09 |
프로그래머스 1단계 : 서울에서 김서방 찾기! (6) | 2022.11.06 |
프로그래머스 1단계 : 정수 제곱근 판별! (2) | 2022.11.06 |
프로그래머스 1단계 : x만큼 간격이 있는 n개의 숫자! (1) | 2022.11.06 |
댓글