최대공약수와 최소공배수_프로그래머스_파이썬
- 나의 풀이
def solution(n, m):
a = min(n,m)
b = max(n,m)
answer = []
for i in range(a,0,-1):
if a%i == 0 and b%i ==0:
answer.append(i)
break
for i in range(b, b*a+1):
if i%a == 0 and i%b ==0:
answer.append(i)
break
return answer
print(solution(3,12))
[3, 12]
- 다른 사람 풀이
def gcdlcm(a, b):
c, d = max(a, b), min(a, b)
t = 1
while t > 0:
t = c % d
c, d = d, t
answer = [c, int(a*b/c)]
return answer
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(gcdlcm(3,12))
[3, 12]
Comments