popeye0618

Backend Developer

[python] 백준 - 2217 (로프)

ko 0 조회수 시리즈 · 알고리즘 #알고리즘

실버4 문제이며, 제한 시간은 2초이다.

문제

해결 과정

그리 어렵지 않은 문제였다.

  1. 우선 병렬로 연결하지 않았을 때 최대 중량은 max값이다.
  2. 병렬로 연결할 경우의 최대 중량은 가장 작은 수 * 그 수보다 크거나 같은 수의 개수이다.
  3. 비교하며 더 큰 값으로 answer값을 갱신한다.

풀이

py
import sys
input = sys.stdin.readline

n = int(input())
rope = []
for _ in range(n):
  rope.append(int(input()))

rope.sort()
answer = rope[-1]

for i in range(len(rope)):
  t = len(rope) - i
  answer = max(answer, rope[i] * t)

print(answer)

댓글

0

아직 댓글이 없습니다.

댓글 쓰기