■ 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)
[참고] 유클리드 호제법을 활용한 최소 공배수 구하기
[참고] 파이썬에서 int는 몇 바이트일까요?
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 2485번 가로수 문제 (2) | 2023.06.16 |
---|---|
[백준/Python] 1735번 분수 합 문제 (0) | 2023.06.15 |
[백준/Python] 1934번 최소공배수 문제 (0) | 2023.06.05 |
[백준/Python] 11478번 서로 다른 부분 문자열의 개수 문제 (0) | 2023.06.03 |
[백준/Python] 1269번 대칭 차집합 문제 (0) | 2023.06.02 |
댓글