본문 바로가기
코딩 테스트/코딩 테스트 - 문제

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

by 안스 인민군 2023. 2. 6.
 

프로그래머스

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

programmers.co.kr

이 문제는 최소공배수(lcm)을 만드는 문제이다.

최소 공배수를 만들기 위해서는 먼저 최대공약수(gcd)를 알고 있어야 한다.

그리고 최대공약수는 아래와 같이 라이브러리를 이용하여 할 수도 혹은 직접 만들 수 있다.

import math

def gcd(a, b):  # 최대공약수
    while b > 0:
        a, b = b, a % b
    return a

a,b =12,20
math.gcd(a, b)
gcd(a,b)

이제 위의 최대공약수를 이용한 최소공배수를 만들어 보자

import math

def lcm(a, b):
    return a * b // math.gcd(a, b) #실수로 나오니까 정수로 나오겠끔 //로 나누자

파이썬 3.9 버전 부터는 아래와 같이 라이브러리를 사용할 수있지만 프로그래머스 등 지원안하는 곳도 많으니 그냥 위에꺼를 외우도록 하자

import math
a, b = 6, 15
math.lcm(a, b)

'코딩 테스트 > 코딩 테스트 - 문제' 카테고리의 다른 글

k진수에서 소수 개수 구하기  (0) 2023.02.08
[프로그래머스] 캐시  (0) 2023.02.06
[백준] 수들의 합 2  (0) 2023.02.03
[프로그래머스] 징검다리  (0) 2023.02.02
[백준] 공유기 설치  (0) 2023.02.02