반응형
https://programmers.co.kr/learn/courses/30/lessons/87389
나의 풀이
function solution(n) {
const divideList = [];
for (let i = n - 1; i > 0; i--) {
if ((n % i) === 1) {
divideList.push(i);
}
}
return divideList.pop();
}
약수를 리스트에 저장하고,
반복문이 끝나면 가장 끝에 있는 약수(약수들 중 가장 작은 약수)를 반환한다.
그런데 i가 0부터 증가하면서 나머지가 1이 되는 i를 찾는 것이 더 빠르다는 것을 알았다.
function solution(n) {
for (let i = 0; i < n; i++) {
if ((n % i) === 1) {
return i;
}
}
}
더 간결한 코드가 되었다!
반응형
'IT > Algorithm' 카테고리의 다른 글
프로그래머스) 콜라츠 추측 (0) | 2021.10.21 |
---|---|
프로그래머스) 약수의 개수와 덧셈 (0) | 2021.10.20 |
프로그래머스) 소수 만들기 (0) | 2021.10.19 |
프로그래머스) 3진법 뒤집기 (0) | 2021.10.18 |
프로그래머스) 부족한 금액 계산하기 (0) | 2021.10.15 |