728x90
프로그래머스 문제 풀이 19
최소공배수 최대공약수
01. 문제
function solution(n, m) {
var answer = [];
return answer;
}
02. 나의 문제 풀이
function solution(n, m) {
let answer = [];
let r, a = m, b = n;
// 큰 수에서 작은 수로 나눈 나머지 값이 0이 될 때 까지 반복한다.
while(b > 0){
r = a % b;
a = b;
b = r;
}
// 0이 되었을때 마지막으로 나눈 값 a는 최대공약수 이다.
answer.push(a);
// 최소공배수는 n과 m의 곱을 최대공약수 a로 나눈 것과 같다.
answer.push(n * m / a);
return answer;
}
03. 다른 사람의 문제 풀이
function gcdlcm(a, b) {
var r;
for(var ab= a*b;r = a % b;a = b, b = r){}
return [b, ab/b];
}
true/false 조건을 (r=a%b) 로 판별해두고 0이 나오면 for문이 종료되게 하여 최소공배수 최대공약수가 나오게 한 것 같다
728x90
'Javascript' 카테고리의 다른 글
프로그래머스 문제 풀이 21 (1) | 2022.11.17 |
---|---|
프로그래머스 문제 풀이 20 (1) | 2022.11.17 |
프로그래머스 문제 풀이 18 (4) | 2022.11.15 |
프로그래머스 문제 풀이 17 (3) | 2022.11.14 |
프로그래머스 문제 풀이 16 (1) | 2022.11.14 |
댓글