[Python] 백준 2217번: 로프

Jonie Kwon·2022년 4월 8일
0

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

그리디 알고리즘 문제

  • 사용 할 로프 개수 n개
  • 버틸 수 있는 중량이 가장 작은 로프 순으로 정렬
  • k번째 로프를 제외하면서 n-k개의 로프를 사용한 최대 중량을 구하기
  • n개 ~ n-k개를 사용하였을 때 버틸 수 있는 최대 중량을 반환

코드

import sys
input = sys.stdin.readline
n = int(input())
w =[]
for _ in range(n):
    w.append(int(input()))
w.sort()
# 각 로프가 버틸수 있는 최대 중량  w / 사용할 로프 개수 k
answer = 0
k = 0
while n-k > 0:
    answer = max(answer, w[k] * (n-k))
    k+=1
print(answer)

profile
메모하는 습관

0개의 댓글