728x90
반응형
# 2217
n = int(input()) # 로프의 수
data = []
for i in range(n):
data.append(int(input()))
data.sort(reverse=True)
max_w = []
for i in range(n):
max_w.append( data[i]*(i+1))
print(max(max_w))
너무 어렵게 생각하지 않는 것이 중요하다.
기본적으로 입력받은 중량 값을 역으로 정렬하여 사용한다.
우선, 가장 기본적으로 들 수 있는 중량은 제일 큰 로프의 중량 값이다.
2가지의 로프를 사용한다면,
가장 큰 로프는 그다음으로 큰 로프보다 항상 크므로
두 번째 로프의 2배만큼의 중량을 들 수 있을 것이다.
3가지의 로프를 사용하고.. 그 이상의 로프를 사용한다고 해도 마찬가지이다.
이렇게 새로운 배열을 만들고 나서 가장 큰 값을 고르면 된다.
728x90
반응형
'백준 > 그리디' 카테고리의 다른 글
#13305 주유소 파이썬 (0) | 2021.03.08 |
---|---|
# 4796 캠핑 (0) | 2021.03.08 |
# 1439번: 뒤집기 (0) | 2020.10.15 |
# 1931 회의실 배정 (0) | 2020.09.18 |
# 14720 우유 축제 (0) | 2020.09.18 |