프로그래머스 : 나머지가 1이 되는 수 찾기

Digeut·2023년 6월 24일
0

프로그래머스

목록 보기
67/164

❔문제설명

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

⚠️제한사항

3 ≤ n ≤ 1,000,000

❌틀린 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1 ; i <= n ; i ++){
            if(n % i != 1) i++;
            else answer = i;
        }
        return answer;
    }
}

🙄오류


코드 실행은 되는데 정확도가 떨어진다... 왜지, if문은 예외인 경우를 빼내는 식으로 실행하는건데... 그냥 반복문을 성공하면 break하는 방식으로 해야하나??

💡코드풀이

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;
    }
}

제한 사항에 n이 3부터 시작하므로 나머지가 1이되는경우부터 시작하려면 n을 2부터 시작해줘야한다!

profile
개발자가 될 거야!

0개의 댓글