def solution(n, m):
answer = []
# GCD
for i in range(min(n, m), 0, -1):
if n % i == 0 and m % i == 0:
answer.append(i)
break
# LCM
for j in range(max(n, m), (n * m) + 1):
if j % n == 0 and j % m == 0:
answer.append(j)
break
return answer
다른방법 1
def solution(n, m):
gcd = lambda a,b : b if not a%b else gcd(b, a%b)
lcm = lambda a,b : a*b//gcd(a,b)
return [gcd(n, m), lcm(n, m)]
다른방법 2
def gcd(a, b):
return b if a % b == 0 else gcd(b, a % b)
def lcm(a, b):
return int(a * b / gcd(a, b))
def gcdlcm(a, b):
answer = [gcd(a,b), lcm(a,b)]
return answer
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(gcdlcm(3,12))