백준 15903. 카드 합체 놀이

2024. 3. 5. 22:37·백준

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

 

15903번: 카드 합체 놀이

첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1,

www.acmicpc.net

# 우선순위 큐 구현
import heapq

n, m = map(int, input().split())

cards = list(map(int, input().split()))
heapq.heapify(cards) # 주어진 리스트를 힙 구조로 변환
# 힙 구조? 부모 노드의 값이 자식 노드의 값보다 작거나 같도록 하는 이진 트리

for i in range(m):
    x = heapq.heappop(cards) # heap에서 가장 작은 항목을 pop하고 반환
    y = heapq.heappop(cards)
    heapq.heappush(cards, x+y) # cards 배열에 x+y를 push
    heapq.heappush(cards, x+y)

print(sum(cards))

처음에 pop(0)로 했다가 맞긴 맞았는데 찝찝한(시간 오래걸림)느낌이 들어 다른 분들 코드를 확인

역시 pop(0)는 쓰는 게 아니야... deque도 쓰는 문제가 아니었음

저작자표시 (새창열림)

'백준' 카테고리의 다른 글

백준 4883. 삼각 그래프  (0) 2024.03.07
백준 16139. 인간-컴퓨터 상호작용  (0) 2024.03.06
백준 1072. 게임  (0) 2024.03.05
백준 27737. 버섯 농장  (0) 2024.03.05
백준 7562. 나이트의 이동  (0) 2024.03.03
'백준' 카테고리의 다른 글
  • 백준 4883. 삼각 그래프
  • 백준 16139. 인간-컴퓨터 상호작용
  • 백준 1072. 게임
  • 백준 27737. 버섯 농장
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (383) N
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅&리팩토링 (6) N
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    개발자취업
    코딩테스트준비
    99클럽
    Til
    항해99
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 15903. 카드 합체 놀이
상단으로

티스토리툴바