반복문으로 i를 1부터 n까지 i++ 하면서 결과 값을 찾을 수 있지만, 그렇게 되면 반복 효율이 좋지 않아
깊게 생각해보았다. 그 결과
n이 홀수일 경우 무조건 2가 정답이라는 사실을 발견했고,
3부터는 2를 더해주면서 비교할 경우 더 빠르게 결과값을 찾을 수 있다는 사실을 발견 했다.
제출한 코드 :
function solution(n)
{
if (n % 2 === 1) return 2; // n이 홀수인 경우 i = 2가 항상 해답
for (let i = 3; i <= n; i += 2)
{ // 홀수 i만 검사
if (n % i == 1) return i;
}
}
'문제 풀기 > JavaScripts' 카테고리의 다른 글
문제 17. 자연수 뒤집어 배열로(split, reverse, map(Number)) (0) | 2024.07.11 |
---|---|
문제 16. x만큼 간격이 있는 n개의 숫자(난이도 6) (0) | 2024.07.11 |
문제 14. 악수의 합(Math.sqrt()) (0) | 2024.07.11 |
문제 13. 자릿수 더하기(toString(), 문자열에서 문자 추출) (0) | 2024.07.11 |
문제 12. 평균 구하기(reduce 함수) (0) | 2024.07.11 |