반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12924?language=javascript
2. 설명
이 문제는 수학 법칙..? 을 사용해서 풀어야하는 문제였다. 별짓을 다해봤는데 타임아웃을 해결할 수 없었다.
생각할 수 있는 방법은 무조건 이중 for문을 쓰는 법밖엔 없는데, 무조건 타임아웃이 떴다.
이 문제의 핵심은, 연속한 자연수들로 n을 표현하는 방법의 수는 n의 약수 중 홀수의 갯수라는 것이다.
15의 약수 중 홀수의 갯수는 1,3,5,15로 방법의 갯수는 4이다.
6의 경우에는 홀수의 갯수가 1,3 총 두개이므로 방법의 갯수는 2가 된다.
3. 코드
function solution(n) {
let ans = 0;
for(let i=1;i<=n;i++){
if (n % i == 0 && i % 2 == 1){ // n의 약수이면서 홀수이면 answer++
ans++
}
}
return ans;
}
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[문자열] 프로그래머스 '이상한 문자 만들기' - js (0) | 2022.09.27 |
---|---|
[구현] 프로그래머스 '2016년' - js (0) | 2022.09.26 |
[문자열] 프로그래머스 '숫자 문자열과 영단어' - js (0) | 2022.09.19 |
[구현] 프로그래머스 '최대공약수와 최소공배수' - js (0) | 2022.09.19 |
[소수] 프로그래머스 '소수 찾기' - js (0) | 2022.09.19 |