자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
3 ≤ n ≤ 1,000,000
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1 ; i <= n ; i ++){
if(n % i != 1) i++;
else answer = i;
}
return answer;
}
}
코드 실행은 되는데 정확도가 떨어진다... 왜지, if문은 예외인 경우를 빼내는 식으로 실행하는건데... 그냥 반복문을 성공하면 break하는 방식으로 해야하나??
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 2⭐ ; i < n ; i ++){
if(n % i == 1) {
answer = i;
break;
}
}
return answer;
}
}
제한 사항에 n이 3부터 시작하므로 나머지가 1이되는경우부터 시작하려면 n을 2부터 시작해줘야한다!