치악산 복숭아
[프로그래머스] 최대공약수와 최소공배수 - Javascript 본문
링크
programmers.co.kr/learn/courses/30/lessons/12940
문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
제한 사항
- 두 수는 1이상 1000000이하의 자연수입니다.
문제 풀이
1) 코드 설명
(1) n과 m중 더 큰 수를 num에 저장한다.
(2) max와 min을 초기화한다.
(3) n과 m이 같은 수로 나누어 떨어진다면 max 변수에 저장한다(최대공약수)
(4) 최소공배수는 두 수의 곱 / 최소공배수를 하면 구할 수 있다(두 수의 곱 = 최소공배수 * 최대공약수)
(5) answer에 max와 min을 저장한다.
2) 코드
function solution(n, m) {
let answer = [];
let num = n > m ? n : m;
let max = -21470000;
let min = 21470000;
for (let i = 1; i <= num; i++) {
if (n % i === 0 && m % i === 0)
max = i;
}
min = n*m/max;
answer = [max, min];
return answer;
}
'PS:0' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈 - Javascript (2) | 2020.09.16 |
---|---|
[프로그래머스] 하샤드 수 - Javascript (0) | 2020.09.16 |
[프로그래머스] 키패드 누르기 - Javascript (2) | 2020.09.16 |
[프로그래머스] 짝수와 홀수 - Javascript (0) | 2020.09.16 |
[프로그래머스] 제일 작은 수 제거하기 - Javascript (0) | 2020.09.16 |
Comments