[Python] 백준알고리즘 #2609

r1verfuture·2021년 12월 24일
0

백준알고리즘

목록 보기
67/110

📝 문제

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.

⌨️ 입력

첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.

🖨 출력

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

⌨️ 예제 입력

24 18

🖨 예제 출력

6
72

📚 내가 제출한 코드

a, b = map(int, input().split())
min = min(a, b); max = max(a, b); factor = [min]; gcf = 0
for n in range(min - 1, 1, -1):
  if min % n == 0:
    factor.append(n)
for n in factor:
  if max % n == 0:
    gcf = n
    break
if gcf == 0:
  print(1)
  print(a * b)
else:
  print(gcf)
  print(a * b // gcf)

✏️ 내가 제출한 코드에 대한 설명

  • input() : 키보드로 입력한 값을 받는 함수
  • a.split() : a를 빈칸 단위로 쪼개서 반환하는 함수
  • map(a, b) : b의 원소 하나하나를 a에 대입한 것을 반환하는 함수
  • min(a) : a들 중에서 가장 작은 값
  • max(a) : a들 중에서 가장 큰 값
  • range(a, b, c) : a부터 b 되기 전까지 c씩 더한 값들을 반환하는 함수 (ex. range(5, -1, -1) = 5, 4, 3, 2, 1, 0)
  • 메모리 : 29200 KB
  • 시간 : 68 ms
  • 코드 길이 : 300 B
profile
#iOS #Swift #Developer #Python

0개의 댓글