728x90
문제 및 제한사항
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
**제한사항**
3 ≤ n ≤ 1,000,000
풀이 방법
예를 들어 n = 10일 때, result가 3으로 반환되면 된다.
while문을 돌려 n을 변수로 나눌 때, 나머지가 1이라면 빈 배열에 해당 값을 넣으면 된다.
나머지가 1인 가장 작은 자연수를 찾아야 하므로 해당 배열의 요소들을 다 확인하고 Math.min으로 최솟값을 가져오면 된다.
하지만 굳이 min을 쓸 필요 없이 아래와 같이 해도 됐다. 더 간단한 코드...
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
코드
function solution(n) {
let i = 1;
let arr = [];
while (i <= n) {
if (n % i === 1) {
arr.push(i)
}
i++
}
return Math.min(...arr)
}
728x90
'⚙️ 코딩테스트' 카테고리의 다른 글
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 정수 제곱근 판별 (0) | 2023.04.06 |
---|---|
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 문자열 내 p와 y의 개수 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : x만큼 간격이 있는 n개의 숫자 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 자릿수 더하기 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 입문 : 한 번만 등장한 문자 (0) | 2023.04.06 |