알고리즘 문제풀이
5. 백준 2217번: 로프 문제풀이
coding of lks
2020. 5. 20. 22:00
백준 2217번: 로프 (https://www.acmicpc.net/problem/2217)

풀이
디그리 알고리즘을 적용해 풀 수 있는 문제입니다.
최대 중량을 구하는 문제입니다.
우선 최대 중량을 구하기 위해 모든 로프의 가용 용량을 기준으로 오름차순 정렬을 합니다.
그리고 순서대로 접근하여 최대 중량을 갱신시켜주면 최적의 해를 구할 수 있습니다.
n = int(input()) # n(갯수)입력
list = []
for i in range(n): # 각 로프 최대 중량 입력
weight = int(input())
list.append(weight)
list.sort() # 로프 최대 중량 정렬
result = 0
for i in range(n): # 최대 중량을 갱신해주며 리스트의 요소들에 접근
if list[i] * n > result:
result = list[i] * n
n = n - 1
print(result)
----------------------------------------------------------
n = int(input())
list = [0 for i in range(n)]
for i in range(n):
list[i] = int(input())
list.sort()
result = 0
for i in range(n):
result = max (result, (n - i) * list[i])
print(result)
반응형