[백준] 1715번 카드 정렬하기

Turtle·2023년 2월 21일
0
post-thumbnail

💡문제접근

  • heap 자료구조를 이용하면 간단히 해결할 수 있다. 자료구조를 활용할 수 있다면 적극적으로 활용해서 문제를 해결하려고 시도해보자.

💡코드(메모리 : 34108KB, 시간 : 176ms)

import heapq
import sys
input = sys.stdin.readline

N = int(input())
li = []
for i in range(N):
    li.append(int(input()))

# 리스트 li를 선형적으로 heap으로 변환해주는 heapify()
heapq.heapify(li)
result = 0
while len(li) > 1:
	# heap에서 가장 작은 원소를 반환해주는 heappop()
    a = heapq.heappop(li)
    b = heapq.heappop(li)
    # heap에 원소를 넣어주는 heappush()
    heapq.heappush(li, a+b)
    result += (a+b)
print(result)

💡소요시간 : 10m

0개의 댓글