[백준/파이썬] 2217번 로프 풀이

업데이트:



문제 정보


풀이

문제

여러 로프를 함께 사용할 때 들 수 있는 최대 중량을 구하는 문제입니다.

로프 k개를 쓰면 가장 약한 로프 기준으로 약한값 * k가 최대 중량이 됩니다.

코드

import sys;read=sys.stdin.readline
n=int(read())
l=[int(read())for _ in range(n)]
l.sort(reverse=True)
m=0
while l:
    m=max(m,l[-1]*n)
    n-=1
    l.pop()
print(m)

설명

로프 강도를 정렬한 뒤 각 로프를 최소 강도로 보는 경우를 순회하면서 (해당 최소 강도) * (사용 로프 수)의 최댓값을 갱신합니다.



이런 주제는 어떠신가요?

비슷한 난이도와 유형의 문제를 이어서 보면 풀이 감각을 더 빠르게 잡기 좋습니다.

댓글남기기