공부 서랍장/알고리즘 공부

[프로그래머스] 최대공약수와 최대공배수 python

만땅이 2022. 9. 16. 23:11

문제: https://school.programmers.co.kr/learn/courses/30/lessons/12940?language=python3

 

def solution(n, m):
    answer = []
    
    small_num = min(n,m)
    big_num = max(n,m)
    
    #최대공약수
    tmp = []
    for i in range(1,small_num+1):
        if (small_num % i == 0) and (big_num % i == 0):
            tmp.append(i)
    answer.append(max(tmp))
    
    #최소공배수
    tmp_1 = []
    for i in range(1,small_num+1):
        tmp_1.append(big_num * i)
        
    tmp_2 = []    
    for i in range(1,big_num+1):
        tmp_2.append(small_num * i)
        
    tmp = []
    for i in tmp_1:
        if i in tmp_2:
            tmp.append(i)
    answer.append(min(tmp))
    
    return answer

반응형