-
알고리즘: 백준 2217번 로프 (feat.Python)알고리즘/백준(BaekJoon) 2020. 8. 8. 16:51
백준 2217번 링크입니다.
https://www.acmicpc.net/problem/2217
로프들이 견딜 수 있는 리스트를 만들어 오름차순으로 배열한다.
만약 10, 25, 30가 로프가 버틸 수 있는 최대중량으로 주어진다면
10 x 3 = 30
25 x 2 = 50
30 x 1 = 30
으로 최대 버틸 수 있는 중량은 50이 된다.
ropes[i] * (n - i) 들로 이루어진 리스트의 최대 값을 찾으면 되는 것이다.
import sys input = sys.stdin.readline n = int(input()) ropes = [0 for _ in range(n)] for i in range(n): ropes[i] = int(input()) ropes.sort() max_weight = 0 for i in range(n): if max_weight < ropes[i] * (n - i): max_weight = ropes[i] * (n - i) # 버틸 수 있는 가장 큰 무게를 찾는다. print(max_weight)
2 10 15 20
반응형'알고리즘 > 백준(BaekJoon)' 카테고리의 다른 글
알고리즘: 백준 1037번 약수(feat. c++) (0) 2020.08.18 알고리즘: 백준 10610번 30 (feat. Python) (0) 2020.08.08 알고리즘: 백준 1932번 회의실 배정 (feat.Python) (0) 2020.08.08 알고리즘: 백준 11047번 동전0 (feat.Python) (0) 2020.08.08 알고리즘: 백준 11399번 ATM (feat. Python) (0) 2020.08.08