본문 바로가기

개발/algorithm

[백준 2217번] 로프 -python

문제를 만났을 때 문제를 해결하는 아이디어를 떠올리지 못해 난이도가 낮은 문제도 못 푸는 경우가 많은 거 같아 

난이도가 상대적으로 낮은 문제들을 풀어보고 있다 

문제 유형을 파악하고 어떻게 풀어야 할지 생각하는데에 시간이 좀 걸린다 

 

문제 링크

https://www.acmicpc.net/problem/2217

풀이

- 정렬 문제이다 

- 무게를 오름차순으로 정렬한 후 들 수 있는 무게가 작은 로프를 포함했을 때와 제외했을 때의 들 수 있는 무게를 비교한다.  

n = int(input())

data = []

for _ in range(n):
  data.append(int(input()))

data.sort()

answer = 0

for i in range(len(data)):
  answer = max(data[i]*(n-i), answer)
  
print(answer)