Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
class Solution {
public int solution(int n) {
int answer = 0;
int start = 0, end = 0;
int sum = 0;
while(end<=n) {
if(sum == n) answer++;
if(sum<n) sum += start++; // 합이 n보다 작으면 더하는 수를 추가
else sum -= end++; // 합이 n보다 크면 더하는 수를 줄임
}
return answer;
}
}
투포인터 알고리즘 을 참고하면 쉽게 풀 수 있다!