10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.
입출력 예 #2
12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.
✔️ 제한사항
3 ≤n≤ 1,000,000
✔️ 코드구상
쉽게 생각해보면 나머지가 1이 된다는건 일단 1을 확보해야되기 때문에 먼저 빼준 후
2부터 순회하면서 딱 나눠 떨어지는걸 찾았을 때 break로 빠져나오면 찾을 수 있습니다.
✔️ 코드
class Solution {
public int solution(int n) {
int answer = 0;
//나머지가 1이 되는 가장 작은 자연수?
//일단 n에서 1을 빼고 딱 나눠 떨어지는 수를 2부터 시작해서 찾으면 된다
for(int i = 2; i <= n; i++) {
if((n - 1) % i == 0) {
answer = i;
break;
}
}
return answer;
}
}