반응형
파이썬 gcd사용법
from math import gcd
answer = gcd(2,4,6)
answer2 = gcd(12,16,20,24)
print(answer) #결과: 2
print(answer2) #결과: 4
gcd (num1, num2....)
num1,num2....들의 최대공약수를 출력해 줍니다.
gcd관련 예제
문제풀러가기
https://programmers.co.kr/learn/courses/30/lessons/12953?language=python3
문제 분석
1. 최소공배수를 구하는 라이브러리 lcm이 있지만,사용 불가능.
2. gcd()안의 argument는 2개까지만 넣을 수 있다.
3. 최대공약수로 최소공배수 구하는법: (x*y) // gcd(x,y)
코드
from math import gcd
def solution(arr):
result = arr[0]
for i in arr:
result = (result*i)//gcd(result,i)
return result
코드 풀이
1. arr = [2, 6, 8, 14] 일 때, 처음에는 2와 기자신의 최소공배수를 구한다.
2*2=4, 4//gcd(2,2) = 2,
두번째는 위에서 얻은 최소공배수와 그 다음 원소 6의 최소공배수를 구한다.
2*6 =12, 12//gcd(2,6) = 6,
6*8 = 48, 48//gcd(6,8) = 24,
24*14=336, 336//gcd(24,14) = 168.
최종적으로 168을 반환한다.
<잡담 & 배운점>
배운점은 gcd(num1, num2....) : 최대공약수를 구해주는 math모듈이있다 것.
요즘 프로젝트하느라 간단한 코테문제만 풀고 있당... ㅠ_ㅠ
반응형
'코딩테스트 > 코딩테스트 문제' 카테고리의 다른 글
프로그래머스 - [1차] 다트 게임Lv1 풀이/주석/자세한 설명(2018 KAKAO BLIND RECRUITMENT) (2) | 2022.06.14 |
---|---|
프로그래머스 - 로또의 최고 순위와 최저 순위 풀이 상세(자바스크립트) (0) | 2022.05.29 |
코딩테스트 준비 - 프로그래머스Lv2: 구명보트 풀이 (파이썬) (0) | 2021.07.07 |
코딩테스트 준비 - 프로그래머스Lv2: 영어 끝말잇기 풀이 (파이썬) (4) | 2021.07.06 |
코딩테스트 준비 - 프로그래머스 위장 풀이/파이썬 딕셔너리를 이용한 문제 풀이 (파이썬) (0) | 2021.07.05 |
댓글