[프로그래머스] Level 1 최대공약수와 최소공배수 python3

G E Lee·2023년 1월 3일
0

코딩테스트

목록 보기
9/13
post-thumbnail

Level 1 최대공약수와 최소공배수

문제 링크 :
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)
profile
배움은 끝이 없다

0개의 댓글