백준 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)
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
7. 백준 1541번: 잃어버린 괄호 (0) | 2020.05.21 |
---|---|
6. 백준 1138번: 한 줄로 서기 (0) | 2020.05.20 |
4.백준 11399번: ATM 문제풀이 (0) | 2020.05.20 |
3. 백준 11047번 동전0 문제풀이 (0) | 2020.05.20 |
2.백준 5585번 거스름돈 문제풀이 (0) | 2020.05.20 |