목차
반응형
문제 설명
자연수 n이 매개변수로 주어집니다.
n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요.
답이 항상 존재함은 증명될 수 있습니다.
제한 조건
- 3 ≤ n ≤ 1,000,000
나의 풀이
function solution(n) {
var answer = 1;
while (n % answer != 1) answer++;
return answer;
}
다른 풀이
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
}
}
const solution = function(n) {
for (let i=0; i<n; i++){
if (n%i == 1){
return i
}
}
}
마무리
입력 값의 나머지가 1이 되는 수를 반환하는 문제다.
일단 기본 값 answer에 1을 지정했다.
while문을 입력 값을 answer로 나눈 값이 1이 될 때까지 실행시킨다.
while문이 실행되는 동안 answer를 1씩 증가 시킨다.
결국 입력 값을 answer로 나눈 값이 1이 되면 while문이 종료되는데, 이 때 까지 증가 되었던 answer값을 반환했다.
다른 사람들의 풀이를 보면 간단하게 for문을 사용해도 됐을 듯 싶다.
반응형