문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
제한 사항
- 두 수는 1이상 1000000이하의 자연수입니다.
입출력 예
n | m | return |
3 | 12 | [3,12] |
2 | 5 | [1,10] |
내 풀이
math 모듈을 import 하여 gcd 와 lcm을 구하려 했으나
module 'math' has no attribute 'lcm'
오류가 뜨면서 안됨
lcm은 n * m을 최대공약수로 나눈 몫으로 따로 계산함
import math
def solution(n, m):
gcd = math.gcd(n,m)
return [gcd, n*m//gcd]
유클리드 호제법
https://yeon-dev.tistory.com/42
[파이썬] 최대공약수와 최소공배수
최대공약수 GCD : Greatest Common Divisor 두 수 이상의 공통인 약수 중 최대인 것 더보기 12의 약수 : 1, 2, 3, 4, 6, 12 6의 약수 : 1, 2, 3, 6 12와 6의 공통인 약수 : 1, 2, 3, 6 12와 6의 최대공약수 : 6 최..
yeon-dev.tistory.com
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스/파이썬] 이상한 문자 만들기 (0) | 2022.09.27 |
---|---|
[프로그래머스/파이썬] 같은 숫자는 없어 (0) | 2022.09.25 |
[프로그래머스/파이썬] 직사각형 별찍기 (0) | 2022.09.25 |
[프로그래머스/파이썬] 부족한 금액 계산하기 (0) | 2022.09.25 |
[프로그래머스/파이썬] 행렬의 덧셈 (0) | 2022.09.25 |