프로그래머스 - N개의 최소공배수(파이썬)

김서영·2024년 8월 16일
0

알고리즘

목록 보기
24/25

📃 문제

💟 코드

def gcd(n1, n2):
    val = n1 % n2
    if val == 0:
        return n2
    else:
        return gcd(n2, val)

def solution(arr):
    answer = 1
    for i in arr:
        answer = answer * i // gcd(answer, i)
    return answer

✨ 코드 풀이

gcd함수

val은 n1을 n2로 나눈 값의 나머지
val값이 0이 나올 때까지 n2를 val로 나눈다!
이 계산을 하는 이유는 n1와 n2의 최대공약수를 구하기 위해서이다!
return값으로 최대공약수 값을 구해서 solution함수에서 answer * i를 한 후 answer와 i의 최대공약수로 나눔으로써 최소공배수를 구해가는 것이다.

profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글