문제

 

풀이 코드

function solution(n) { 
    const start = n % 2 === 0 ? 3 : 2;
    for (let i = start; i < n; i += 2) {
        if (n % i === 1)
            return i;
    }
}

 

풀이 과정

간단한 문제였다, 다만 1부터 증가시켜 찾기엔 너무 비효율 적이라고 생각했다.

왜냐하면 n이 짝수라면, 짝수로 나누었을때는 무조건 1이 나올수가 없다,

반대로 n이 홀수라면 짝수로 나누어야지만, 1이 나올것이다.

 

이에 따라 start 값을 짝수일경우 3으로, 홀수일경우 2 로 설정하여

2씩 증가시키며 값을 찾아 나갔다.

 

+ Recent posts