흠..처음에 이걸 어떻게 풀어야지 싶었다. 모든 경우의수를 생각해야하는줄 알고 막막했다..
하. 지. 만.
자세히 보니, 연속한 자연수들로 표현하는거였다.
역시 문제를 자세히 읽어야한다...
그래서 이중 반복문으로 쉽게 풀었다.
첫번째 반복문으로 i는 1부터 n까지 반복하고 두번째반복문으로 i를 n까지 반복. sum은 n이랑같으면 경우의수(answer)++ 한다. 다르면 탈출.
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; i++) {
int sum = 0;
for (int j = i; j <= n; j++) {
sum += j;
if (sum == n) {
answer++;
break;
} else if (sum > n) {
break;
}
}
}
return answer;
}
}