Coding Test/BaekJoon_Python

백준 2217 <로프> Python

JunOnJuly 2023. 11. 8. 22:37
728x90

https://www.acmicpc.net/problem/2217

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net


가장 작은 로프를 제외하며 계산하면 쉽게 풀 수 있다.


def solution(N, data_list):
    # 리스트 정렬
    data_list = sorted(data_list)
    # 최댓값
    max_value = 0
    # 정렬 후 낮은 밧줄부터 제거하면서 비교
    # 중간값만 빼볼 필요는 없음
    for idx in range(N):
        # 제일 낮은 값 X 밧줄 수
        value_sum = data_list[idx] * (N-idx)
        if value_sum > max_value:
            max_value = value_sum
   
    return max_value


N = int(input())
data_list = [int(input()) for _ in range(N)]
print(solution(N, data_list))

 

728x90

'Coding Test > BaekJoon_Python' 카테고리의 다른 글

백준 2668 <숫자고르기> Python  (0) 2023.11.09
백준 2230 <수 고르기> Python  (0) 2023.11.09
백준 1026 <보물> Python  (0) 2023.11.08
백준 1931 <회의실 배정> Python  (0) 2023.11.07
백준 11047 <동전 0> Python  (0) 2023.11.07