728x90
- 문제 설명
자연수 n이 매개변수로 주어집니다.
n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요.
답이 항상 존재함은 증명될 수 있습니다. - 제한사항
3 ≤ n ≤ 1,000,000 - 입출력 예
n result
10 3
12 11 - 입출력 예 설명
입출력 예 #1
10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로,
3을 return 해야 합니다.
입출력 예 #2
12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로,
11을 return 해야 합니다.
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;
}
}
- 문제풀이
1) n이 매개변수로 주어졌을 때, x로 나눈 나머지가 1이 되도록 해야 함
> x가 될 수 있는 수 중 최솟값을 구하는 문제
2) for문으로 x에 들어갈 수를 구한다.
> 1부터 나누는 것은 의미가 x, 2부터 시작하고 n보다 작아야 함
3) answer을 찾으면 바로 break;로 for문을 빠져나오게 풀었다.
728x90
'💻Programmers' 카테고리의 다른 글
[프로그래머스 / LV1] 부족한 금액 계산하기(JAVA) (1) | 2023.10.03 |
---|---|
[프로그래머스 / LV1] 하샤드 수(JAVA) (0) | 2023.10.03 |
[프로그래머스 / LV1] 콜라츠 추측(JAVA) (0) | 2023.10.01 |
[프로그래머스 / LV1] 자릿수 더하기(JAVA) (0) | 2023.10.01 |
[프로그래머스 / LV1] 약수의 합(JAVA) (0) | 2023.10.01 |