728x90
문제 설명
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현하는 방법이 여러 개라는 사실을 알게 되었습니다. 예를 들어 15는 다음과 같이 4가지로 표현할 수 있습니다.
- 1 + 2 + 3 + 4 + 5 = 15
- 4 + 5 + 6 = 15
- 7 + 8 = 15
- 15 = 15
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return 하는 solution를 완성해 주세요.
제한사항
- n은 10,000 이하의 자연수 입니다.
입출력 예
n | result |
15 | 4 |
문제풀이
차이가 1인 등차수열의 평균은 그 수열의 가운데 값입니다. 따라서 가운데 값이 나오기 위해서는 등차수열의 길이가 홀수여야 합니다. 단 예외는 등차수열의 길이가 2인 경우는 홀수를 나타낼 수 있으므로 가능합니다. 짝수의 경우는 2로 나눈 경우 딱 떨어지므로 등차수열의 길이가 2인 경우는 안되지만 1로 나눈 경우 몫이 짝수이지만 자기 자신을 포함하므로 홀수와 짝수 모두 예외의 경우로 인하여 정답에 1을 추가하여 반환하였습니다.
function solution(n: number): number {
let answer: number = 0;
for (var i = 1; i < n; i++) {
if ((n / i) % 2 == 1) {
answer++;
}
}
return answer+1;
}
728x90