백준 2217번 : 로프

highway92·2021년 9월 13일
0

백준

목록 보기
3/27

greedy

문제출처 : https://www.acmicpc.net/problem/2217

접근방법

  1. 로프의 길이들을 입력받아서 rope라는 리스트안에 넣는다.

  2. rope를 내림차순으로 정렬한다.

  3. 반복문을 통해 첫 번째 값(가장 긴 로프)부터 확인하며 result 값을 갱신한다.
    두 번째 값(두 번째로 긴 값) * 2 가 result값 보다 크다면 result 값을 바꿔준다. -> 같은 과정을 반복한다.

import sys
rope=[]
n = int(input())

for i in range(n):
    rope.append(int(sys.stdin.readline()))

result = 0
rope = sorted(rope,reverse=True)

for i in range(len(rope)):
    if rope[i] * (i+1) > result:
        result = rope[i]*(i+1)

print(result)
profile
웹 개발자로 활동하고 있습니다.

0개의 댓글