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

백승연·2024년 1월 11일
0
post-thumbnail

🗒️ 문제

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


제한 사항

  • 3 ≤ n ≤ 1,000,000

입출력 예

nresult
103
1211

입출력 예 설명

입출력 예 #1

  • 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.

입출력 예 #2

  • 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.

🖋️ 나의 풀이

function solution(n) {
    // 반복문 이용   
    for (let i = 1; i <= n; i++) {
        if (n % i == 1) return i;
    }
}

💡 다른 사람들의 풀이

# 1

while에 증감연산자 사용

function solution(n, x = 1) {    
    while (x++) {
        if (n % x === 1) {
            return x;
        }
    }    
}

// function solution(n, x = 0) {
//     return n % x === 1 ? x : solution(n, x + 1);
// }

# 2

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



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글