문제 설명
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
n | result |
---|---|
10 | 3 |
12 | 11 |
class Solution {
public int solution(int n) {
int answer = 0;
return answer;
}
}
class Solution {
public int solution(int n) {
int answer = 0;
for(int x = 1; x<n; x++){
if(n%x==1){
answer = x;
break;
}
}
return answer;
}
}
n을 나눈 나머지가 1이어야 하니까 for문을 돌려서 1부터 n까지 돌린후에 if문을 활용해서 n%x==1 일 경우에 answer에 x를 더하는 방법으로 작성했다. break는 조건문을 만족하자마자 멈춰주는 용도이고 가장 작은 자연수를 뽑아내야 하기 때문에 3에서 멈춰주었다.
break를 걸어준 이유를 몰라서 자문을 구해서 알게되었다..
이해하기 위해 더 찾아본 모습이 보기 좋네요!