반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

11286 절대값 힙 본문

코딩 테스트(Python)/백준, 프로그래머스

11286 절대값 힙

5_hyun 2022. 3. 7. 00:14
반응형

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

 

11286번: 절댓값 힙

첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0

www.acmicpc.net

 

내 풀이(잘모르겠어서 구글링했지만 생각보다 단순해서 허무)

import heapq

heap = []
rst = []
n = int(input())
for i in range(n):
    x = int(input())
    if x != 0:
        heapq.heappush(heap, (abs(x), x))
    elif len(heap) == 0:
        rst.append(0)
    else:
        t = heapq.heappop(heap)[1]
        rst.append(t)
for i in rst:
    print(i)

x가 0이 아니면 heap에 (절대값, 원래값)을 추가한다. 그리고 heap이 비어있으면 rst에 0을 추가한다. 그리고 다른 경우에는 최소값을 t에 넣고 삭제한다음 원래값을 rst에 넣는다. 왜냐하면 heapq는 최소값이 0번째있기 때문에 이중 배열의 1번째 값까지 고려해서 정렬이된다.

반응형

'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글

1021 회전하는 큐  (1) 2022.03.11
9375 패션왕 신해빈  (0) 2022.03.08
1874 스택 수열  (0) 2022.02.25
1764 듣보잡  (0) 2022.02.23
1966 프린터 큐  (0) 2022.02.23
Comments