반응형
파이썬 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
코딩테스트 연습 - N개의 최소공배수
두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배
programmers.co.kr
문제 분석
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 |
댓글