For Programmer

백준 2217번 파이썬 문제풀이(로프) 본문

코팅테스트/백준 문제 모음

백준 2217번 파이썬 문제풀이(로프)

유지광이 2022. 5. 5. 21:31
728x90

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

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net


위 문제는 그리디적으로 접근해야하는데 실버4  치고는 처음에 사실 생각하기 꽤 어려웠다.

풀이법은 우선 오름차순 정렬한뒤 젤 작은값 * 총개수 , 그다음작은값 * (총개수 - 1) , ... 와같은식으로 계산한다음 가장 큰 값을 출력하는 식으로 접근하면 된다. 해당 문제의 증명은 각자 다들 잘 생각해보기 바란ㄷㅏ........

 

import sys

input = sys.stdin.readline
N = int(input())

rope = [int(input()) for _ in range(N)]
rope.sort()

ans = 0

for i in rope:

    if ans < i * N:
        ans = i * N

    N -= 1

print(ans)
728x90
Comments