개발 공부/코딩 테스트
[프로그래머스] 숫자의 표현 JavaScript
바 질
2024. 2. 6. 18:30
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12924
풀이
function solution(n) {
let cnt = 0
for (let i = 1; i <= n; i++){
let sum = i;
let temp = i;
while (sum < n) {
temp += 1
sum += temp
}
if (sum === n){
cnt += 1
}
}
return cnt
}
n을 연속하는 자연수의 합으로 표현해야 한다. 첫번째 자연수는 1로 시작한다. 1에 차례대로 자연수를 더하다가 합계가 n을 넘어가면 첫번째 자연수는 2로 바뀐다. 다시 2에다가 자연수를 차례대로 더한다. 이 과정을 반복한다. 합계가 n이랑 같으면 cnt가 1씩 증가한다.