나머지가 1이되는 수 찾기(1)

YS·2022년 12월 4일
0

coadingTest

목록 보기
1/5

문제

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


solution.js

  • 첫번째 풀이

function solution(n) {
    var answer = 0;
    let i=i;
    while(true){
        if(n%i==1){
            answer = i;
            break;
        }
        i++;
    }
    return answer;
}

while문으로 무한 반복을 돌린뒤 i를 1부터 1씩 증가시키면서 n을 i로 나눴을 시 1이 되는 경우에 answer에 i 값을 대입하여 무한 반복을 탈출한 뒤 return 하는 방식으로 풀이 하였다. 그치만 코드가 먼가 난잡하고 딱딱하다? 지저분한거 같아서 줄여보는 시간을 가져보았다.


  • 두번째 풀이

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

굳이 변수를 복잡하게 여러개 추가 할 필요 없시 처음에 주어진 answer 변수를 반복문에 매개인자로 넣어 1씩 증가시키고 똑같이 조건을 만족할 시 break가 아닌 return 으로 바로 빠져나오게 함으로써 코드를 더 간략화 시킬 수 있었다 !

profile
"나의 개발 노트"

0개의 댓글