📆11/11
숫자의 표현
<문제 설명>
<입출력 값>
<문제 해석>
자연수 n을 연속하는 자연수들의 합으로 표현할 수 있는 개수를 구해라.
+자기 자신
<문제 해결>
n은 1을 감소시킨다. (자기 자신 말고 그 전 값으로 계산하기 위함)
n이 0보다 클 동안 cnt를 1씩 증가시키고
n은 n - cnt가 된다.
만약에 n % cnt == 0 이면 answer의 값을 증가시킨다.
<내 코드>
class Solution {
public int solution(int n) {
int answer = 0;
int cnt = 1; // 수열의 크기
n--;
while (n > 0) {
cnt++;
n = n - cnt;
if (n % cnt == 0) {
answer++;
}
}
return answer+1;
}
}```