Posts 최대공약수와 최소공배수 [Python]
Post
Cancel

최대공약수와 최소공배수 [Python]

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


URL : https://programmers.co.kr/learn/courses/30/lessons/12940

1.1 문제 설명

  • 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다.
  • 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.


1.2 제한 사항

  • 두 수는 1이상 1000000이하의 자연수입니다.


1.3 Solution

1
2
3
4
5
6
7
8
import math

n = 2
m = 5


# 최대 공약수
math.gcd(n,m)
1
1
  • Python의 math 메서드를 사용해서 최대공약수를 구할수 있음


1
2
# 최소공배수
n * m // math.gcd(n,m)
1
10
  • 최대 공약수를 활용하여 최소 공배수도 구할수 있음


1
2
3
4
5
6
7
8
import math
def solution(n, m):
    answer = []
    # 최대 공약수
    answer.append(math.gcd(n,m))
    # 최소 공배수
    answer.append(n * m // math.gcd(n,m))
    return answer


1
solution(n, m)
1
[1, 10]
  • 위의 코드를 함수로 작성
This post is licensed under CC BY 4.0 by the author.