코딩 테스트 연습/[프로그래머스] Python

[LV.2] 연습문제 > 최대공약수와 최소공배수

duswjd_data 2025. 6. 26. 14:15

문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 설명

  • 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환
    • 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환
    • 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환
  • 제한 사항) 두 수는 1이상 1000000이하의 자연수

정답 코드

import math

def solution(n, m):
    gcd = math.gcd(n, m)   # 최대공약수
    lcm = (n*m)//gcd       # 최소공배수
    return [gcd, lcm]
  • 파이썬에서는 math 모듈에 내장된 gcd 함수를 이용해 쉽게 구현 가능 (내장함수도 알아두어 잘 활용하자!!)