코딩 테스트
[프로그래머스 Level 1] 나머지가 1이 되는 수 찾기
y_flm
2025. 3. 6. 15:28
반응형
문제:
자연수 n이 매개변수로 주어집니다.
n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해 주세요.
답이 항상 존재함은 증명될 수 있습니다.
문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/87389
풀이보기 ⬇️
더보기
function solution(n) {
for(let x = 2; x < n; x++) {
if(n % x === 1) return x;
}
}
이번 문제는 간단하고 쉬운 걸로 풀어보았다
사실 다른 문제 풀다가 멘탈터져서 이 문제를 푼 것ㅎㅎ; 😅
x가 2부터 시작하는 이유는 어쨌든 나머지가 1이 되어야 하기 때문에 나머지가 남지 않는 1은 제외시킨 것이다.
그리고 1이 없다면 굳이 n까지 반복시킬 이유가 없기 때문에 x < n으로 설정했다.
그리고 인상깊었던 다른 사람의 풀이는 아래와 같은데,
function solution(n, x = 1) {
while (x++) {
if (n % x === 1) {
return x;
}
}
}
맨날 for 문만 쓰다 보니 while 문의 존재가 희미해져 갔고, 또 조건에 증감 연산자를 쓸 방법은 생각도 못했다.
그리고 미리 증감 연산자 사용을 위해 x의 default 값을 지정해 줬는데 이것 또한 상상도 못 한 ㅎㅎ ;
새삼 내가 너무 틀에 박혀서 문제를 풀고 있는 것 같은 느낌이 들었다 나도 좀 더 다양하게 생각해봐야겠다고 다짐!
반응형