문제 링크 :
https://school.programmers.co.kr/learn/courses/30/lessons/12940
최대공약수와 최소공배수의 이해
두 숫자의 최대공약수를 먼저 구한다. 두 숫자 중 한 숫자를 다른 수로 계속 나누다보면 나머지가 0인 경우가 나오는데 이 수가 최대공약수이다.
최대공약수는 최소 1부터 시작한다.
이 최대공약수로 최소공배수를 구한다.
최소공배수는 두 수를 곱한 수를 최대공약수로 나눈다.
최대공약수를 구하는 함수를 따로 만들었다.
def solution(n, m):
answer = [0,0]
answer[0] = maxnum(n, m)
# 최소공배수 계산
answer[1] = n*m/answer[0]
return answer
def maxnum(a, b): # 최대공약수 구하기
if a % b == 0:
return b
else:
return maxnum(b, a % b)