문제
자연수
n
이 매개변수로 주어집니다.n
을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수x
를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
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 으로 바로 빠져나오게 함으로써 코드를 더 간략화 시킬 수 있었다 !