728x90
문제 설명
문제 풀이 방법
- 이 문제는 주어지는 수의 약수 중 홀수인 약수의 개수만큼이 답이된다.
- 또한 중첩 반복문(2중 for문)을 이용해 반복하며 더한 값을 비교해 총 값이 n이 되는 경우의 수를 반환한다.
- 이렇게 2개의 방법으로 답을 도출할 수 있다.
내가 작성한 코드 1
const solution = (n) => {
let answer = 0;
for(let i=1; i<=n; i++){
if(n%i === 0 && i%2 === 1){
answer++;
}
}
return answer;
}
내가 작성한 코드 2
const solution = (n) => {
let answer = 1;
let sum = 0;
for(let i=1; i<n; i++){
sum += i;
for(let j=i+1; j<n; j++){
sum += j;
if(sum === n){
answer++;
sum = 0;
break;
}
else if(sum > n){
sum = 0;
break;
}
}
}
return answer;
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
2Level / 연습 문제 / 다음 큰 숫자 (1) | 2023.05.28 |
---|---|
1Level / Summer/Winter Coding(~2018) / 예산 (0) | 2023.05.26 |
2Level / 연습 문제 / 최솟값 만들기 (1) | 2023.05.25 |
1Level / 연습 문제 / 최대공약수와 최소공배수 (0) | 2023.05.23 |
2Level / Summer/Winter Coding(~2018) / 점프와 순간 이동 (0) | 2023.05.22 |