본문 바로가기

Coding Test/프로그래머스 연습

나머지가 1이 되는 수 찾기

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

제한사항
3 ≤ n ≤ 1,000,000

 

👽내 코드

class Solution {
    public int solution(int n) {
        int x = 1; // 증가하는 자연수
        int y = 0; // 나머지
        
        while(y != 1){
            y = n % x;
            
            if(y==1){
                break;
            }
            
            x++;
        }
        return x;
    }
}

 

 

break를 복습할 수 있었던 문제

 

 

🌈다른 풀이

class Solution {
    public int solution(int n) {
        int answer = 1;

        while(n % answer != 1){
            answer++;
        }
        return answer;
    }
}

 

break를 쓰지 않는 방법도 있을까 했다. 근데 역시 있음

조건식을 조금만 변경해주었으면 된다.

애초에 계산식을 조건으로!