문제
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
- 제한사항
3 ≤ n ≤ 1,000,000
나의 풀이
function solution(n){
for(let x = 2; x < n; x++) {
if (n % x === 1) return x;
}
}
for문 안에 return이 있어도 전체 함수의 반환값이 된다.
- 정확도 테스트 결과
테스트 1에서 시간이 많이 걸렸지만 통과
다른 풀이
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
}
}
특별히 다른 방법은 아니지만, while문으로도 대체할 수 있음을 학습할 수 있는 풀이.
정확도 테스트 결과
'Coding test' 카테고리의 다른 글
[프로그래머스] 다트 게임 (Level 1) (0) | 2022.04.21 |
---|---|
[프로그래머스] 체육복 (Level 1) (0) | 2022.04.21 |
[프로그래머스] 최소 직사각형 (Level 1) (0) | 2022.04.20 |
[프로그래머스] 3진법 뒤집기 (Level 1) (0) | 2022.04.19 |
[프로그래머스] 약수의 개수와 덧셈 (Level 1) (0) | 2022.04.19 |