[프로그래머스]이중우선순위 큐 - python 파이썬

2024. 7. 22. 17:52·코딩테스트/프로그래머스

문제

 

 

 

 

이 문제는 heap 을 사용하여  처리해주어야한다. 왜냐하면 operations 의 길이가  1,000,000 이하  이기 때문에 이를 고려해서 시간이 초과되지 않도록 해주어야 하기 때문이다.

 

 

명령어를 인식해서 처리해주는 부분은 리스트 인덱스를 통해서 처리해주었다.

 

import heapq

def solution(operations):
    answer = []
    heap = []
    for i in operations:
        #값 삽임
        if i[0] == "I":
            n = int(i[2:])
            heapq.heappush(heap,n)
        #최솟값 삭제
        if i[0] == "D" and i[2] == "-":
            if len(heap)>0: 
                heapq.heappop(heap)
        #최댓값 삭제
        if i[0] == "D" and i[2] =="1":
            if len(heap)>0:
                mx = max(heap)
                heap.remove(mx)
            
    if len(heap)>0:
        answer.append(max(heap))
        answer.append(heapq.heappop(heap))
    else:
        answer.append(0)
        answer.append(0)

    return answer

 

삽입 해준 값을 변환해주는 부분도 리스트 인덱싱을 통해 숫자 부분만 떼어준 후 int 로 형변환을 시켜주어 해결하였다.

 

최소힙과 최대힙을 구현하려다가 그렇게 되면 최댓값을 삭제할 때 최소힙의 값에서도 찾아서 삭제해주어야하는 문제가 있어서 max를 활용하여 최댓값을 구하고 최솟값는 heappop를 통해 구하는 방식으로 문제를 해결해주었다.

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 아이템 줍기 -python  (0) 2024.08.06
[프로그래머스] 단어변환 - python 파이썬  (2) 2024.08.01
[프로그래머스] N으로 표현 -python 파이썬  (1) 2024.07.25
[프로그래머스] 더맵게 - python파이썬  (1) 2024.07.25
[프로그래머스] 디스크 컨트롤러 - python 파이썬  (0) 2024.07.24
'코딩테스트/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 단어변환 - python 파이썬
  • [프로그래머스] N으로 표현 -python 파이썬
  • [프로그래머스] 더맵게 - python파이썬
  • [프로그래머스] 디스크 컨트롤러 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩테스트
    그리디
    코테
    EC2
    K디지털트레이닝
    IT기획
    백트래킹
    파이썬
    spring
    알파코캠퍼스
    python
    UnionFind
    깃허브
    AWS
    프로디지털아카데미
    Java
    github
    다익스트라
    백준
    투포인터
    kdt교육
    신한투자증권
    프로그래머스
    백엔드
    알고리즘
    MSA
    bastion host
    BFS
    알파코
    프디아
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[프로그래머스]이중우선순위 큐 - python 파이썬
상단으로

티스토리툴바