티스토리 뷰
from math import gcd
def lcm(x,y):
return x*y // gcd(x,y)
def solution(arr):
# 숫자 두개씩을 lcm함수에 넣어서 반환받기
answer = arr[0]*arr[1]//gcd(arr[0],arr[1])
for i in range(2,len(arr)):
answer = lcm(answer,arr[i])
return answer
print(solution([2,6,8,14]))
파이썬은 gcd()함수가 있어서 최대 공약수를 자동으로 구해준다.
그래서 이것을 사용해야겠다고 생각했고 최소 공배수 = 두 숫자의 곱 / 최대 공약수 이기 때문에
맨 앞 두 숫자들을 먼저 뽑아서 그것들 끼리 최소 공배수를 구해줬다. -> 배열 0번째,1번째 것으로
그러고 여기서 나온 최소 공배수를 answer에 저장을 한다.
그리고 배열 2번째 숫자 부터는 앞서 구한 최소 공배수(answer)와 함께 다시 lcm()함수에 보내서 최소 공배수를 구한다.
이렇게 계속해서 최소 공배수를 반복문을 다 돌 때까지 구하면 된다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 피보나치 수 - 파이썬 (0) | 2021.10.12 |
---|---|
[프로그래머스] 카펫 - 파이썬 (3) | 2021.09.08 |
[프로그래머스] 거리두기 확인하기 - 파이썬 (0) | 2021.08.24 |
[프로그래머스] 상호평가 - 파이썬 (0) | 2021.08.12 |
[프로그래머스] 프린터 - 파이썬 (0) | 2021.08.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- vue.js
- django
- git
- 안드로이드스튜디오
- 파이썬
- javascript
- 배포
- 독학
- Java
- commit되돌리기
- 알고리즘
- 세션 스토리지
- splide
- N과M
- 백준
- 트리
- Pyhton
- Python
- SQL
- 위클리챌린지2주차
- 싸피
- SWEA
- SSAFY
- 자바
- vue
- SSAFY퇴소
- AWS
- 비동기패턴
- 프로그래머스
- DOM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함