본문 바로가기

문제 풀이/Programmers

[프로그래머스] 나머지가 1이 되는 수 찾기 (JAVA)

문제 출처 - Programmers

문제는 여기

 

코딩테스트 연습 - 나머지가 1이 되는 수 찾기

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입

programmers.co.kr


[풀이]

1. 입력되는 n의 최솟값이 3이므로 2부터 n보다 작을 때까지 i로 n을 나눠 1인 경우를 찾는다.

2. 나머지가 1이되면 해당 값이 가장 작은 값이므로 answer에 값을 대입해주고 반복을 종료한다.

3. 결과를 출력한다.

[접근]

1. for문을 돌려서 작은 수부터 나머지가 1이 되는 값을 찾으면 되겠다고 생각하였다.

[코드]

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        // 최소값부터 n - 1까지 반복문 반복
        for (int i = 2; i < n; i++) {
            // 나머지가 1인 경우
            if (n % i == 1) {
                // answer에 값 넣어주고 반복문 종료
                answer = i;
                break;
            }
        }
        
        return answer;
    }
}