728x90
반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12940
2. 접근 방식
- 최대 공약수 : 두 수 이상의 여러 수의 공약수 중 최대인 수 -> n과 m에 동시에 나눠지는 i 중 가장 큰 값
- 최소 공배수 : 두 수 이상의 여러 수의 공배수 중 최소인 수 -> n과 m을 곱한 값을 최대 공약수로 나눈 값 (유클리드 호제법)
- 더 쉬운 방법 : math 패키지 활용
import math
math.gcd(a, b)
math.lcm(a, b)
3. 코드
def solution(n, m):
answer = [1, 0]
# GCD
for i in range(1, m+1):
if n%i ==0 and m%i==0:
answer[0] = i
# LCM
answer[1] = n * m // answer[0]
return answer
4. 결과
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Lv.2][Python] H-Index (0) | 2022.10.01 |
---|---|
[프로그래머스][Lv.1][Python] 다트 게임 (0) | 2022.09.25 |
[프로그래머스][Lv.1][Python] 3진법 뒤집기 (0) | 2022.09.20 |
[프로그래머스][SQL] 고득점 kit (0) | 2022.03.05 |
[프로그래머스][Lv.3][Cpp] 네트워크 (0) | 2022.02.06 |
[프로그래머스][Lv.2][Python] 타겟 넘버 (0) | 2022.02.06 |
댓글