백준 2217 로프 파이썬

최대 1 분 소요

백준 2217번 로프 풀이

접근방식

  1. rope 리스트에 로프 무게를 저장하기
  2. rope 리스트를 내림차순으로 정렬하기(reverse=True)
  3. 문제 조건에 따라 k/w 이므로 for문을 통해 로프의 개수와 중량을 새로운 리스트에 저장해주기
  4. max값을 출력하기
import sys

input = lambda: sys.stdin.readline().rstrip()

n = int(input())

rope = []

for _ in range(n):
    rope.append(int(input()))
# 내림차순 정렬
rope.sort(reverse=True)

weight = []

# 입력 예시와 같이 10, 15가 주어졌을 경우,
# 15 * 1 = 15 , 10 * 2 = 20 이다. 

# 예를 들어, 20, 30, 40이 주어졌다고 할 때,
# 40 * 1 = 40 , 30 * 2 = 60 , 20 * 3 = 60 이므로 정답은 60이 된다.
for i in range(n):
    weight.append(rope[i]*(i+1))

print(max(weight))

해당 문제는 실버4레벨에 해당하므로 어렵지 않게 풀 수 있는 문제였습니다.

알고리즘도 모든 것과 마찬가지로 꾸준한 연습과 이해를 바탕으로 실력이 향상합니다.

Just do it & Keep steady

댓글남기기