해당 문제는 여기에서 확인하실 수 있습니다.
이 문제는 n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 찾는 문제입니다. 이를 해결하기 위한 접근 방법은 다음과 같습니다.
먼저, n을 어떤 자연수 x로 나누었을 때 나머지가 1이 되려면, n % x == 1이어야 합니다. 따라서, x가 2부터 시작해서 n-1까지 순차적으로 증가하며, 이 조건을 만족하는 첫 번째 x를 찾으면 됩니다.
이 문제에서 중요한 점은, 조건을 만족하는 가장 작은 x를 찾는 것이기 때문에, x를 순차적으로 확인하면서 조건을 만족하는 값을 바로 반환해야 합니다.
x가 2부터 시작하는 이유는 x = 1일 경우, n % 1은 항상 0이기 때문에 해당 조건을 만족할 수 없기 때문입니다.
따라서, x는 2부터 시작하여, n보다 작은 값까지 반복하면서, n % x == 1인 가장 작은 x를 찾아 반환합니다. 만약 이러한 x가 존재한다면 해당 값을 반환하고, 존재하지 않는다면 -1을 반환합니다.
class Solution {
public int solution(int n) {
for (int x = 2; x < n; x++) { // x는 2부터 n-1까지 반복
if (n % x == 1) { // n을 x로 나눈 나머지가 1이면
return x; // 해당 x를 반환
}
}
return -1; // 답이 없을 경우 (실제로 실행되지 않음)
}
}