반응형
-풀이
def solution(n, m):
answer = []
answer2 = []
for i in range(1, n+1):
if n % i == 0 and m % i == 0:
answer.append(i)
return [max(answer),(n * m) / max(answer)]
-풀이 설명
i에 1~n 만큼 반복문을 돌리면서 만약 n을 i로 나눈 나머지 값이0이고, m을 i로 나눈 나머지 값이 0이면,
answer에 i값을 추가해주어 공통된 약수를 구한다. 이후 max함수를 이용해 최대공약수를 구하고, n과 m을 곱한 값에 최대공약수를 나누면 최소공배수를 구할 수 있다.
Ps. gcdlcm함수를 이용하여 푸는 방법도 있다.
'알고리즘' 카테고리의 다른 글
[프로그래머스][level 1]제일 작은 수 제거하기 (0) | 2021.10.01 |
---|---|
[프로그래머스][level 1]짝수와 홀수 (0) | 2021.10.01 |
[프로그래머스][level 1]콜라츠 추측 (0) | 2021.10.01 |
[프로그래머스][level 1]평균 구하기 (0) | 2021.10.01 |
[프로그래머스][level 1]하샤드 수 (0) | 2021.10.01 |