function solution(n) {
const num = n-1;
const arr = [];
for(let i = 2; i < num; i++){
if(num%i === 0){
arr.push(i);
}
}
return arr.length ? Math.min(...arr) : num
}
어떤 수로 n을 나누었을 때 나머지가 1이되려면 어떤 수는 n-1과 그 수의 약수가 된다.
n-1의 약수를 모두 구해 배열에 저장하고, 가장 작은 수를 리턴해줬다.
약수가 없으면 n-1을 그대로 리턴해줬다.
function solution(n) {
for(let i = 2; i < n; i++) {
if(n%i === 1 ) return i
}
}
n-1로 나누었을 때 1이 남는다면 n-1의 약수로 나누어도 1이 남는다
가장 작은 수를 구해야하니까 2~n까지 돌면서 가장 먼저 조건에 맞는 수를 리턴한다