숫자의 표현

정하윤·2022년 11월 11일
0
function solution(n) {
  let answer = 1;
  for (let i = 1; i <= n; i++) {
    let sum = 0;
    for (let j = i; j <= n; j++) {
      sum = sum + j;
      if (sum === n) {
        answer++;
      } else if (sum > n) {
        break;
      }
    }
  }
  return answer;
}

맨처음 이런식으로 작성하였는데 시간 초과가 나와서 어디 부분을 수정하면될까 생각을 해보았다.


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

으로 sum 부분을 0으로 계속초기화하지않고 i로 수정하더니 정답이었다.

0개의 댓글