그리디 알고리즘
Q
A
리스트를 오름차순으로 정렬하여 가장 뒤에 있는 큰 수를 기준으로 판단한다.
n = int(input()) #입력받기
data = list(int(input()) for _ in range(n)) #여러 줄의 하나의 숫자를 리스트로 입력받기
data.sort() #오름차순으로 정렬
result = 0
for i in range(n):
if data[-1] <= (n - i) * data[i]:
result = max(result, (n - i) * data[i]) #반복문에 속해 있으므로 혹시모를 오류를 위해 max 사용
else:
result = data[-1]
print(result)