본문 바로가기

알고리즘 공부/프로그래머스 > Python3

[프로그래머스] N개의 최소공배수

https://programmers.co.kr/learn/courses/30/lessons/12953

 

코딩테스트 연습 - N개의 최소공배수

두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배

programmers.co.kr

 

[정답]

 

1. i를 증가시키면서 최소공배수를 찾을 것이다. 즉 i가 리스트에 있는 수들로 다 나누어진다면 i가 최소공배수가 된다.

2. answer==0일 동안, 즉 answer인 최소공배수를 찾을 동안 while문을 돈다.

3. 변수 count는 리스트에 있는 수 중 i로 나누어지지 않는 수가 있다면 기록하기 위한 변수이다. 나누어지지 않는 수가 있다면 count=1이 된다. 만약 count=0이면, answer은 해당 i값이고, 더 이상 answer이 0이 아니니까 while문을 빠져나오게 된다.

4. answer을 return 한다.


처음에 최대공약수를 구하고, 이를 통해 최소공배수를 구하는 방법으로 문제를 시도하였다.

그러나 '입출력 예시'에서는 맞았지만, '제출 후 검사하기'에서는 실패가 막 떴다.

나중에 시간이 있다면, 다시 이 방법으로 문제를 풀어보고 싶다.