유블로그

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

알고리즘

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

yujeong kang 2021. 1. 20. 00:17

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

 

소요시간 : 7분

 

이 문제는 문제에 나와있는 것처럼 그냥 1부터 다 더해보면 된다!

1+2+3+.... 해서 더한 값이 n을 넘어가면 멈추고 2+3+4+... 다시 시도해본다.

더한 값이 n과 같아지는 경우엔 가짓수를 +1 해준다.

class Solution {
  public int solution(int n) {
    int answer = 0, sum = 0, start = 1, num = start;
    while(true) {
      if(sum == n) {
        answer++;
        if(++start > n) {
          break;
        }
        sum = 0;
        num = start;
      }
      else if(sum > n) {
        start++;
        sum = 0;
        num = start;
      }
      sum += num++;
    }

    return answer;
  }
}