alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2217 로프_파이썬 본문
2217 로프 https://www.acmicpc.net/problem/2217
2217번: 로프
N(1≤N≤100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만
www.acmicpc.net
문제 풀기 전 공부할 것 : 수학, 그리디 알고리즘
풀이
<내용>
- 각 로프가 버틸 수 있는 중량을 입력받는다.
- 중량을 정렬한다.
- 해당 중량보다 큰 중량에서는 해당 중량만큼 걸 수 있기 때문에 해당 중량 x 그것보다 같거나 큰 중량이 최대 중량이다.
- 버틸 수 있는 중량 = 해당 중량 X 해당 중량보다 큰 중량의 수
- 버틸 수 있는 중량 중 가장 큰 값이 최대 중량이다.
<코드>
import sys
input = sys.stdin.readline
n = int(input())
weight = [int(input()) for _ in range(n)]
weight.sort()
res = 0
for i in range(n):
res = max(res, weight[i]*(n-i))
print(res)
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 1049 기타줄_파이썬 (0) | 2020.09.01 |
---|---|
[알고리즘][Python] 백준(BOJ) 1292 쉽게 푸는 문제_파이썬 (0) | 2020.08.31 |
[알고리즘][Python] 백준(BOJ) 4358 생태학_파이썬 (0) | 2020.08.29 |
[알고리즘][Python] 백준(BOJ) 14425 문자열 집합_파이썬 (0) | 2020.08.28 |
[알고리즘][Python] 백준(BOJ) 3649 로봇 프로젝트_파이썬 (0) | 2020.08.27 |
Comments