본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 13241번 최소공배수 문제

by 모두의 케빈 2023. 6. 7.

■ 13241번 최소공배수 문제

 

출처: 백준 13241번 최소공배수 문제

 

■ 코드 풀이

 

문제에서 요구한 내용은 두 가지입니다. 첫 번째는 두 숫자의 최소 공배수를 구하라는 것이고 두 번째는 큰 수의 경우는 64비트 정수로 선언하라는 것입니다.

최소 공배수를 구하는 건 유클리드 호제법을 활용하면 쉽게 풀 수 있는데요. 이전 문제 풀이에서 자세하게 코드 설명을 해드렸으니, 혹시 잘 모르시는 분들께서는 코드 아래의 풀이 문제를 다시 한번 살펴보고 오시면 도움이 될 것 같습니다.

두 번째 요구 사항, '큰 수의 경우에는 64비트 정수로 선언'에 대해서는 파이썬이라는 언어를 활용한다면 별도로 다른 정수형 타입을 선언할 필요가 없습니다. 그냥 int로 선언하면 그것이 64비트입니다.

이는 파이썬이 플랫폼 독립적인 인터프리터 언어여서 그런 것인데요. Java나 C, C++ 같은 언어는 플랫폼에 민감하기 때문에 int32처럼 값이 명시된 자료형을 선언해야 합니다. 하지만 파이썬은 굳이 그럴 필요가 없죠. 이에 대한 자세한 내용은 마찬가지로 코드 아래에 제가 참고한 글을 넣어두었으니 생소한 분들은 꼭 보셔서 좋은 공부가 되었으면 합니다.

 

numbers = list(map(int, input().split()))
numbers.sort(reverse = True)

A, B = numbers[0], numbers[1]

while B != 0:
    A = A%B
    A,B = B,A
    
print((numbers[0] * numbers [1]) // A)

 

 

[참고] 유클리드 호제법을 활용한 최소 공배수 구하기

[백준/Python] 1934번 최소공배수 문제

 

[백준/Python] 1934번 최소공배수 문제

■ 1934번 최소공배수 문제 ■ 코드 풀이 두 숫자의 최소 공배수는 두 숫자를 곱한 다음 최대 공약수로 나눈 몫입니다. 따라서 최소 공배수를 구하려면 먼저 최대 공약수를 구해야 합니다. 최대

kevinitcoding.tistory.com

 

[참고] 파이썬에서 int는 몇 바이트일까요?

int는 몇 바이트 인가요? (sk.com)

 

int는 몇 바이트 인가요?

 

devocean.sk.com

 

댓글