프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def gcd(a,b):
if a % b == 0:
return b
else:
return gcd(b, a%b)
def solution(arr):
lcm = arr[0]
for i in range(1, len(arr)):
lcm = lcm * arr[i] // gcd(lcm, arr[i])
return lcm
최소공배수, 최대공약수 구할 때는 유클리드 호제법을 사용한다.
유클리드 호제법 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란
ko.wikipedia.org
유클리드 호제법은 최대공약수를 구할 수 있는 알고리즘인데 간단히 설명해보자면 어떤 수 a, b의 최소공배수를 구하고자 할 때, a와 b를 나눈 나머지 r이라 할 때 a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이것을 이용하여 gcd라는 함수를 만들고 첫번째 인자를 두번째 인자로 나눈 나머지가 0이 될 때까지 재귀적으로 반복하여 a와 b의 최대공약수를 구할 수 있다.
최소공배수는 두 수의 곱을 최대공약수로 나누면 된다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 H-Index (0) | 2022.11.08 |
---|---|
[Python/파이썬] 프로그래머스 예상 대진표 (0) | 2022.11.02 |
[Python/파이썬] 프로그래머스 짝지어 제거하기 (0) | 2022.10.22 |
[Python/파이썬] 프로그래머스 다음 큰 숫자 (0) | 2022.10.21 |
[Python/파이썬] 프로그래머스 최고의 집합 (0) | 2022.10.19 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def gcd(a,b): if a % b == 0: return b else: return gcd(b, a%b) def solution(arr): lcm = arr[0] for i in range(1, len(arr)): lcm = lcm * arr[i] // gcd(lcm, arr[i]) return lcm
최소공배수, 최대공약수 구할 때는 유클리드 호제법을 사용한다.
유클리드 호제법 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란
ko.wikipedia.org
유클리드 호제법은 최대공약수를 구할 수 있는 알고리즘인데 간단히 설명해보자면 어떤 수 a, b의 최소공배수를 구하고자 할 때, a와 b를 나눈 나머지 r이라 할 때 a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이것을 이용하여 gcd라는 함수를 만들고 첫번째 인자를 두번째 인자로 나눈 나머지가 0이 될 때까지 재귀적으로 반복하여 a와 b의 최대공약수를 구할 수 있다.
최소공배수는 두 수의 곱을 최대공약수로 나누면 된다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 H-Index (0) | 2022.11.08 |
---|---|
[Python/파이썬] 프로그래머스 예상 대진표 (0) | 2022.11.02 |
[Python/파이썬] 프로그래머스 짝지어 제거하기 (0) | 2022.10.22 |
[Python/파이썬] 프로그래머스 다음 큰 숫자 (0) | 2022.10.21 |
[Python/파이썬] 프로그래머스 최고의 집합 (0) | 2022.10.19 |