Algorithm
[JavaScript] 프로그래머스 - 나머지가 1이 되는 수 찾기
by 랩린안
2022. 9. 22.
/*
문제 : n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x을 구하라
자료 : 자연수 n
조건 : n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수를 구해야함
계획 :
n % 1 === 1 인 수를 반복문을 돌려 찾는다.
반성 : i가 순차적으로 커지는 거라 1을 만나자마자 리턴 되는 게 가장 작은 숫자일텐데
첫풀이를 굳이 배열에 모든 경우의 수를 집어넣어
최솟값을 찾는 뻘짓을 했다...
*/
const solution = (n) => {
let result = [];
for (let i = 1; i < n; i++) {
if (n % i === 1) {
result.push(i);
}
}
return Math.min(...result);
};
const solution2 = (n) => {
for (let i = 1; i < n; i++) {
if (n % i === 1) {
return i;
}
}
};
// while문
const solution3 = (n) => {
let i = 1;
while (i < n) {
i++;
if (n % i === 1) {
return i;
}
}
};
// while문
const solution3_1 = (n, x = 1) => {
while (x++) {
if (n % x === 1) {
return x;
}
}
};
const solution4 = (n) => {
let i = 0;
do {
i++;
if (n % i === 1) {
return i;
}
} while (i < n);
};
// // 재귀함수 - 통과안됨
// const solution3 = (n, x = 1) => {
// x++;
// if (n % x === 1) {
// return x;
// }
// return solution3(n, x);
// };