<내코드>
<문제풀이>
최소공배수는 두 수의 곱을 두 수의 최대공약수로 나눈 것 이므로 최대공약수를 찾는 find_gc함수(유클리드 호제법 사용)
를 만들고 시간복잡도를 위해 deque(popleft사용 위해) 로 원소들을 옮긴 뒤, 숫자 두개를 앞에서 부터 픽해 최소공배수를
구해나가면서 원소의 갯수가 하나면 모든 수의 최소공배수 이므로 정답이된다.
<느낀점>
효율적인 알고리즘을 위해 최대공약수 구하는 알고리즘을 찾아보았는데 문제를 다 풀고 나서야 파이썬 내에도 gcd라는 최대공약수
구하는 함수가 있다는 사실을 알았다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스(Programmers)/Level2](Python) 소수 만들기 (0) | 2020.07.23 |
---|---|
[프로그래머스(Programmers)/Level2](Python) 짝지어 제거하기 (0) | 2020.07.23 |
[프로그래머스(Programmers)/Level2](Python) JadenCase문자열 만들기 (0) | 2020.07.23 |
[프로그래머스(Programmers)/Level2](Python) 행렬의 곱셈 (0) | 2020.07.22 |
[프로그래머스(Programmers)/Level2](Python )피보나치 수 (0) | 2020.07.21 |