[Coding Test][Python] 백준 2609번: 최대공약수와 최소공배수

2026. 3. 13. 18:17·개발/코테 준비
반응형

문제

https://www.acmicpc.net/problem/2609

 

 

최대 공약수: 두 자연수의 공통된 약수 중 가장 큰 수
최소 공배수: 두 자연수의 공통된 배수 중 가장 작은 수

재귀함수

n, m = map(int,input().split())

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

print(gcd(n,m))

# 최소 공배수
print(n*m//gcd(n,m))

 

유클리드 호제법(Euclidean Algorithm)을 활용하면 쉽게 최대 공약수를 도출해낼 수 있다.

최소 공배수는 두 자연수의 곱을 최대 공약수로 나누면 구할 수 있다.

 

유클리드 호제법(Euclidean Algorithm)
큰 수를 작은 수로 나눈 나머지 r을 구하고, 작은 수와 그 나머지 r로 다시 나머지를 구하는 과정을 반복하여
나머지가 0이 될 때까지 진행하며, 이때 마지막 나누는 수가 최대공약수가 된다.

 

반복문

n, m = map(int,input().split())

# 반복문
t1, t2 = n, m
while(t2 > 0):
    t1, t2 = t2, t1%t2

print(t1)
print(n*m // t1)

 

두 방식 모두 O(log N)으로 시간복잡도 측면에서는 차이가 없다. 

(실행 환경과 메모리 사용량에서 차이가 발생할 수 있겠다)

반응형

'개발 > 코테 준비' 카테고리의 다른 글

[Coding Test][Python] 백준 2869번: 달팽이는 올라가고 싶다.  (0) 2026.03.14
[Coding Test][Python] 백준 2775번: 부녀회장이 될테야  (0) 2026.03.14
[Coding Test/Python] 백준 1259번: 팰린드롬수  (0) 2026.03.11
[Coding Test/Python] 백준 15829번: Hashing  (0) 2026.03.11
[Coding Test/Python][Programmers] n 번째 원소까지  (0) 2026.02.17
'개발/코테 준비' 카테고리의 다른 글
  • [Coding Test][Python] 백준 2869번: 달팽이는 올라가고 싶다.
  • [Coding Test][Python] 백준 2775번: 부녀회장이 될테야
  • [Coding Test/Python] 백준 1259번: 팰린드롬수
  • [Coding Test/Python] 백준 15829번: Hashing
danieLee
danieLee
개발일지
  • danieLee
    Code log
    danieLee
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • 개발 (76)
        • C++ (3)
        • java (6)
        • JavaScript (9)
        • python (0)
        • AWS (2)
        • Docker (6)
        • git (0)
        • 백엔드 (4)
        • Spring (7)
        • Django (2)
        • AI (3)
        • 코테 준비 (13)
        • 알고리즘 (6)
        • SKALA 4기 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프론트
    알고리즘
    API
    개발자
    대학생
    프로그래머스
    spring
    vue.js
    개발
    백엔드
    JavaScript
    java
    Ai
    skala
    서버
    개념
    4기
    파이썬
    코테
    js
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.1
danieLee
[Coding Test][Python] 백준 2609번: 최대공약수와 최소공배수
상단으로

티스토리툴바