백준/브론즈1

[Python] 백준 1037번 - 약수

두부마라탕 2025. 4. 28. 19:11

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


문제

양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.

 

코드

num = int(input())
nums = list(map(int, input().split()))

if num == 1:
    print(nums[0] ** 2)
else:
    print(min(nums) * max(nums))

 

풀이

1. 약수 개수를 받아준다.

2. 이제 split으로 나눈 숫자들을 정수형태로 리스트에 받아준다.

3. 만약 입력받은 숫자가 1개라면 그 수를 제곱하고

4. 아니라면 입력받은 숫자 중 가장 작은 수와 가장 큰 수를 곱해준다.