백준 1037번: 약수 python

tomkitcount·2025년 4월 17일

매일 알고리즘

목록 보기
30/301

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

문제

1을 제외한 어떤 수의 약수가 주어졌을 때 어떤 수 N을 찾는 문제.

1을 제외한 약수의 개수가 자연수라고 했으므로 N은 소수(prime)가 될 수 없다.

접근 방식

만약 N이 소수가 아니라면, 주어진 수 중 가장 작은 수와 큰 수를 곱하면 어떤 수 N이 된다.

ex) N = 16 일 경우

1을 제외한 약수 2,4,8 이 주어질테고 2*8 을하여 N을 구할 수 있다.

나의 해답

import sys

num_N = int(sys.stdin.readline())

divisor_N = list(map(int, sys.stdin.readline().split()))

print(min(divisor_N)*max(divisor_N))

list로 약수들을 받아 가장 작은 약수와 큰 약수를 곱해준 간단한 풀이이다.

사실 N의 개수도 input 받지 않아도 되지만 문제에서 입력을 요했기때문에 적었다.

코드구현보다 문제 파악이 중점이었던 문제같다.

profile
To make it count

0개의 댓글