나의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function solution(numer1, denom1, numer2, denom2) {
num1 = numer1*denom2 + numer2*denom1
num2 = denom1 * denom2
let gcd = 1;
for(let i=2; i<=Math.min(num1, num2); i++){
if(num1 % i === 0 && num2 % i === 0){
gcd = i;
}
}
return [num1/gcd, num2/gcd];
}
|
cs |
다른 사람의 풀이
1
2
3
4
5
6
7
8
9
10
11
|
function fnGCD(a, b){
return (a%b)? fnGCD(b, a%b) : b;
}
function solution(denum1, num1, denum2, num2) {
let denum = denum1*num2 + denum2*num1;
let num = num1 * num2;
let gcd = fnGCD(denum, num); //최대공약수
return [denum/gcd, num/gcd];
}
|
cs |
최대공약수를 구하는 함수를 유클리드 호제법으로 구현한 것이 인상 깊다!
'알고리즘' 카테고리의 다른 글
내 즙을 짜낸 Greatest Common Divisor of Strings (0) | 2023.03.29 |
---|---|
그리디 알고리즘(탐욕법) (2) | 2023.03.21 |
프로그래머스 lv.0 컨트롤 제트 (0) | 2023.03.01 |
프로그래머스 lv.0 인덱스 바꾸기 (0) | 2023.02.27 |
프로그래머스 lv.0 피자 나눠 먹기(2), (3) (0) | 2023.02.24 |