728x90
프로그래머스 1단계 - 나머지가 1이 되는 수 찾기
🍞 문제 설명
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요.
답이 항상 존재함은 증명될 수 있습니다.
🍞 제한 조건
3 ≤ n ≤ 1,000,000
🍞 입출력 예
n | result |
---|---|
10 | 3 |
12 | 11 |
입출력 예 #1
10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.
입출력 예 #2
12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.
10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다.
입출력 예 #2
12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다.
🍞 문제 풀이
반복문과 % 연산자를 사용하였습니다.
function solution(n) {
var answer = 0;
for(i=1; i<=n; i++){
if (n%i == 1) return answer = i;
}
}
🍞 다른 이의 풀이
제 풀이법과 비슷하지만 while문을 사용한 방법입니다.
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
}
}
728x90
'알고리즘 공부하기' 카테고리의 다른 글
프로그래머스 1단계 - 두 정수 사이의 합 (3) | 2022.11.08 |
---|---|
프로그래머스 1단계 - 정수 내림차순으로 배치하기 (3) | 2022.11.07 |
프로그래머스 1단계 - x만큼 간격이 있는 n개의 숫자 (2) | 2022.11.05 |
프로그래머스 1단계 - 문자열을 정수로 바꾸기 (1) | 2022.11.05 |
프로그래머스 1단계 - 하샤드 수 (2) | 2022.11.03 |
댓글