[프로그래머스 level2] 숫자의 표현

김예지·2021년 10월 18일
1

문제

https://programmers.co.kr/learn/courses/30/lessons/12924


문제 풀이

코드

function solution(n) {
    let cnt=0; 
    for(let i=1; i<=n; i++){
        let sum=0
        for(let j=i; j<=n; j++){
            sum+=j;
            if(sum===n){
                cnt++;
                break;
            }
            else if(sum>n) break;
        }
    }
    return cnt;
}

for문에서 i는 시작점이다(1부터 더하기 시작, 2부터...)
이중 for문을 통해 숫자를 누적하고, 누적값이 n과 같아지면 cnt++ 해준다.

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

2개의 댓글

comment-user-thumbnail
2021년 10월 27일

10/27

답글 달기
comment-user-thumbnail
2021년 10월 27일

10/27

function solution(n) {
    let cnt=1;
    for(let i=1; i<=parseInt(n/2); i++){
        let j=i;
        let tmp=0;
        while(tmp<=n){
            tmp+=j++;
            if(tmp===n){
                cnt++;
                break;
            }
        }
    }
    return cnt; 
}

안에 while문은 결국 for(let j=i; j<=n; j++)와 같음

답글 달기