반응형
문제
https://www.acmicpc.net/problem/2217
2217번: 로프
N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하
www.acmicpc.net
코드
import sys
input = sys.stdin.readline
n = int(input())
rope = sorted([int(input()) for i in range(n)], reverse = True)
res = list()
for i in rope:
res.append(i * (len(res) + 1))
print(max(res))
설명
우선 n과 로프의 값을 각각 입력받는다.
이후 로프를 내림차순으로 정렬한다.
(가장 한계치가 낮은 로프) * (로프의 수) = (최대 무게) 라는 식이 성립한다.
따라서 로프를 순차로 돌면서 계산한 값중 가장 큰 값을 출력하면 된다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 7785: 회사에 있는 사람 (0) | 2023.04.26 |
---|---|
[파이썬, Python] 백준 14501: 퇴사 (0) | 2023.04.25 |
[파이썬, Python] 백준 1904: 01타일 (0) | 2023.04.21 |
[파이썬, Python] 백준 9655: 돌 게임 (0) | 2023.04.20 |
[파이썬, Python] 백준 1912: 연속합 (0) | 2023.04.19 |