1. 문제
https://www.acmicpc.net/problem/2217
2217번: 로프
N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# n : 줄의 개수
n = int(input())
# n_l : 줄 리스트
n_l = [int(input()) for i in range(n)]
n_l.sort()
# max_w : 최대 중량
max_w = 0
for i, v in enumerate(n_l):
# print(v * (n-i))
max_w = max(max_w, v * (n-i))
print(max_w)
3. 후기
- 로프 문제는 입력받은 줄의 중량들을 정렬하여 그 길이보다 큰 길이는 해당 중량을 다 버티므로 자신보다 큰 중량을 버티는 줄 수를 모두 곱하는 방식으로 해결했다. 실버4의 문제는 어느 정도 난이도가 있을거라 생각했는데 해당 문제는 쉬운 편이였던것 같다.
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 회전하는 큐(1021) (0) | 2023.01.15 |
---|---|
(Python)백준 코딩테스트 연습 - 대칭 차집합(1269) (0) | 2023.01.15 |
(Python)백준 코딩테스트 연습 - 30(10610) (0) | 2023.01.13 |
(Python)백준 코딩테스트 연습 - 보물(1026) (0) | 2023.01.13 |
(Python)백준 코딩테스트 연습 - 큐 2(15258) (0) | 2023.01.13 |