반응형
풀이
- 해당 문제는 분모의 값을 최소 공배수로 맞춰야 하는 문제로
- 최소 공배수를 찾기 위해선 최대 공약수가 필요하기에
- 따로 만든 최대 공약수, 최소 공배수를 만들어 사용
- 이후 기약 분수로 만들어야 하기에
- 한 번 더 GCD 값인 x로 나눈 몫을 출력하여 해결.
def solution(numer1, denom1, numer2, denom2):
def LCM(a,b,gcd):
return b//gcd*a
def GCD(a,b):
while a != 0:
a,b = b%a,a
return b
lcm = LCM(denom1,denom2, GCD(denom1,denom2))
a = lcm//denom1*numer1+lcm//denom2*numer2
x = GCD(a,lcm)
return [a//x,lcm//x]
'알고리즘' 카테고리의 다른 글
[프로그래머스, 파이썬] 폰켓몬 (0) | 2024.02.23 |
---|---|
[프로그래머스, 파이썬] 연속된 수의 합 (0) | 2024.02.23 |
[프로그래머스, 파이썬] 둘만의 암호 (0) | 2024.02.21 |
[프로그래머스, 파이썬] 주사위 게임 3 (0) | 2024.02.21 |
[프로그래머스, 파이썬] 안전지대 (0) | 2024.02.21 |