alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 2217 로프_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 2217 로프_파이썬

알파이 2020. 8. 30. 08:15

 

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
반응형
Comments