문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12940
문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수를 완성하세요.
배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다.
제한 사항
- 두 수는 1 이상 1,000,000 이하의 자연수입니다.
✅ Code - 성공
function solution(n, m) {
let gcd = 1; // 최대공약수
while (n > 1 && m > 1) {
let flag = false;
for (let i = 2; i <= Math.min(n, m); i++) {
if (n % i == 0 && m % i == 0) {
gcd *= i;
n /= i;
m /= i;
flag = true;
break
}
}
if (flag == false) break;
}
return [gcd, gcd * n * m];
}
'알고리즘 문제 > 프로그래머스_Lv1 도장깨기' 카테고리의 다른 글
[프로그래머스] 평균 구하기 (Javascript) (0) | 2024.11.26 |
---|---|
[프로그래머스] 콜라츠 추측 (Javascript) (0) | 2024.11.26 |
[프로그래머스] 짝수와 홀수 (Javascript) (0) | 2024.11.25 |
[프로그래머스] 제일 작은 수 제거하기 (Javascript) (0) | 2024.11.22 |
[프로그래머스] 정수 제곱근 판별 (Javascript) (1) | 2024.11.22 |