코딩테스트
[JS] 연습문제 > 숫자의 표현
차차한
2022. 9. 13. 10:26
function solution(n) {
var answer = 0;
var iNum = 1;
var cnt = 0;
for(var i = 1 ; i <= n ; i++){
answer = answer + i;
if(answer === n){
cnt++;
answer = 0;
i = iNum++;
}
if(answer > n){
answer = 0;
i = iNum++;
}
}
return cnt;
}
연속된 자연수만 더해서 N을 만들어야하기 때문에 1, 2, 3.. 이런식으로 1씩 커지는 수를 계속 더한 후 그 수가 N이 된다면 cnt를 1씩 올려주고, answer는 다시 0으로 i는 1씩 올려준다.
예를 들어 N이 15일 때, 1부터 5까지 더해 15가 나왔다면 answer는 0으로 초기화해주고 i는 2로 올려서 2부터 값이 더해지게 해준다.
answer가 n보다 커지면 answer를 0으로 만들고 i도 값을 1씩 올려서 다시 계산을 해준다.