IT 성장일기
[Programmers] 나머지가 1이 되는 수 찾기 본문
반응형
나머지가 1이 되는 수 찾기
문제 설명
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
제한사항
3 ≤ n ≤ 1,000,000
풀이
function solution(n) {
if ( !validNumber(n) ) {
console.error('올바르지 않은 값이 입력되었습니다.');
return false
}
if ( !validRangeOfNumber(n) ) {
console.error('올바르지 않은 수가 입력되었습니다.');
return false
}
return getMinimalNumber(n);
}
function validNumber(n) {
return (n !== null || n !== 'undefined') && (typeof n === 'number')
}
function validRangeOfNumber(n) {
return n >= 3 && n <= 1000000;
}
function isPrime(number) {
if(number === 1) return false;
for(let i = 2; i <= parseInt(Math.sqrt(number)); i++) {
if(number % i === 0) return false;
}
return true;
}
function getMinimalNumber(number) {
let minimal = number;
for(let i = 1; i < number; i++) {
if( !isPrime(i) ) continue;
if( number % i === 1 ) {
minimal = i;
break;
}
}
return minimal
}
너무 어렵게 풀었어요...
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 종이 자르기 (0) | 2025.02.12 |
---|---|
[Programmers] 2차원으로 만들기 (0) | 2025.02.12 |
[Programmers] 직사각형 나머지 좌표 구하기 (0) | 2023.09.04 |