문제 정보
핵심
간단한 수학적 지식이 있다면 풀 수 있는 문제이다
예를 들어 8의 약수를 생각해 보면,
1, 2, 4, 8
다음과 같은데, 1과 8이 한 쌍을 이루고 2와 4가 한 쌍을 이룬다 (두 수를 곱하면 8이 되는 것이다)
여기서 1과 8은 진짜 약수가 아니므로 해당 문제에서 주어지지 않고 2와 4가 주어진다
이 두 수를 곱해주면 되는데 이 경우 주어진 진짜 약수들 중 가장 작은 수와 가장 큰 수를 곱하면 우리는 N을 알 수 있는 것이다
다만 9의 진짜 약수는 1, 3, 9 중 3밖에 없는데
이 경우에도 3은 가장 작은 수이면서 가장 큰 수이므로 두 수를 곱하면(3*3) N
인 9를 도출해낼 수 있다
풀이
from sys import stdin
_ = stdin.readline()
A = list(map(int, stdin.readline().split()))
A.sort()
print(A[0] * A[len(A)-1])
A는 정렬된 상태이기 때문에 A[0]
(최소값) 곱하기 A[len(A)-1)
(최대값) 을 하면 N
을 구할 수 있다
댓글