Algorithm #1 나머지가 1이 되는 수 찾기

개발자지망생·2023년 11월 10일
0

나머지가 1이 되는 수 찾기

문제 설명

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

제한사항

  • 3 ≤ n ≤ 1,000,000

입출력 예시

  • n = 10 / result = 3
  • n = 12 / result = 11

나의 Solution

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부터 n-1까지의 모든 자연수로 나누어 보며, 나머지가 1이 되는 첫 번째 경우의 x값을 찾는다. (n을 n으로 나누는 경우의 수는 제외한다.)

  • x를 1부터 시작하여 n보다 작을 때까지 순차적으로 증가시키는 반복문을 설정한다.

  • 각 반복에서, n % x == 1 인지 확인한다. 이 조건이 참이면 x는 n을 나누었을 때 나머지가 1이 되는 수이다.

  • 조건을 만족하는 첫 번째 x를 찾으면, 그 값을 결과 변수에 저장하고 break를 사용하여 반복문을 종료한다.

0개의 댓글