[JS 알고리즘_22] 나머지가 1이 되는 수 찾기

이강윤·2022년 7월 12일
0

JS알고리즘

목록 보기
22/28
post-thumbnail

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

제한사항

  • 3 ≤ n ≤ 1,000,000

입출력 예

나의 풀이

function solution(n) {
    let answer = []
    for(let i=2; i<n; i++) {
        if(n % i === 1) answer.push(i)
    }
    return Math.min(...answer)
}
  1. n이 1이더라도 나머지는 0이 되므로 필요없는 숫자를 제거하고 2부터 시작하도록 반복문을 만든다.
  2. 그 다음 나누었을 때 1로 떨어지는 값을 answer에 넣고 Math.min메소드를 이용하여 배열중 가장 작은 수를 구한다.

이렇게 생각을 하였는데 다른 풀이를 보니 바로 1로 나누어 떨어지는 값이 있으면 return하여 나타내면 되는거였다..! 괜히 더 복잡하게 생각한..ㅠ

다른 사람의 풀이

function solution(n) {
    for(let i=2; i<n; i++) {
        if(n % i === 1) return i
    }
}
profile
멋진 FE개발자가 될거야 ✌

0개의 댓글