아무나개발하자

N개의 최소 공배수 본문

코딩테스트

N개의 최소 공배수

개발천재나천재 2023. 1. 30. 15:30

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

"""
문제해결방벙
1. 최소공배수 -> 두수의 곱 // 최대 공약수 
2. 최대 공약수 구하는 함수 생성하기
"""
def GCD(big, small):
    if big % small == 0:
        return small
    else:
        return GCD(small, big % small)
      
def LCM(num1, num2, gcd):
    return (num1 * num2 // gcd)
    
def solution(arr):
    answer = 0
    gcd_val = 0
    while len(arr) > 1:
        a = arr.pop()
        b = arr.pop()
        if a > b:
            gcd_val = GCD(a, b)
        else:
            gcd_val = GCD(b, a)
            
        arr.append(LCM(a, b, gcd_val))
            
        
    answer = arr[0]
    return answer

'코딩테스트' 카테고리의 다른 글

완주하지 못한 선수  (0) 2023.01.31
영어 끝말잇기  (0) 2023.01.28
[1차] 캐시  (0) 2023.01.27
문자열 내 마음대로 정렬하기  (0) 2023.01.26
가장 가까운 같은 글자  (0) 2023.01.13