- 최대공약수는 n과 m중
min
을 이용해서 최소값을 구하고 최소값부터 0까지 for문을 이용해서n%i==0과 m%i==0
이 참이면append
를 이용해서 answer 리스트에 i를 넣어준다.- 최소공배수는 n과 m중
max
를 이용해서 최대값을 구하고 최대값부터 n*m까지 for문을 이용해서i%n ==0과 i%m==0
이 참이면append
를 이용해서 answer 리스트에 i를 넣어준다.
# 프로그래머스 Lv1 - 최대공약수와 최소공배수
# 문제링크: https://programmers.co.kr/learn/courses/30/lessons/12940
import math
def solution(n, m):
answer = []
# 최대공약수
for i in range(min(n,m),0,-1):
if n%i ==0 and m%i==0:
answer.append(i)
break
# 최소공배수
for i in range(max(n,m),n*m+1)
if i%n == 0 and i%m == 0:
answer.append(i)
break
return answer
파이썬으로는 최소공배수와 최대공약수를 구하는 문제는 처음인데 다른 언어로 최소공배수와 최대공약수를 구하는 문제를 이전에 풀어본 적이 있어서 손쉽게 해결할 수 있었다.