프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import heapq
def solution(operations):
min_q = []
max_q = []
for op in operations:
if op[0] == "I":
heapq.heappush(min_q, int(op[2:]))
heapq.heappush(max_q, -int(op[2:]))
elif op == "D 1":
if not min_q:
continue
min_q.remove(-heapq.heappop(max_q))
else:
if not min_q:
continue
max_q.remove(-heapq.heappop(min_q))
if min_q:
return [-heapq.heappop(max_q), heapq.heappop(min_q)]
else:
return [0,0]
파이썬의 heapq 모듈을 이용하여 풀이하였다. heapq는 최소힙을 구현해주므로 min_q에는 입력받은 숫자를 그대로 넣고, max_q에는 최대값이 가장 앞에 올 수 있도록 입력받은 숫자를 음수로 변환해서 넣어주었다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 Summer/Winter Coding(~2018) 영어 끝말잇기 (0) | 2022.10.11 |
---|---|
[Python/파이썬] 프로그래머스 JadenCase 문자열 만들기 (0) | 2022.10.10 |
[Python/파이썬] 프로그래머스 [1차]캐시 (2018 KAKAO BLIND RECRUITMENT) (0) | 2022.10.07 |
[Python/파이썬] 백준 18428번 감시 피하기 (1) | 2022.09.20 |
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import heapq def solution(operations): min_q = [] max_q = [] for op in operations: if op[0] == "I": heapq.heappush(min_q, int(op[2:])) heapq.heappush(max_q, -int(op[2:])) elif op == "D 1": if not min_q: continue min_q.remove(-heapq.heappop(max_q)) else: if not min_q: continue max_q.remove(-heapq.heappop(min_q)) if min_q: return [-heapq.heappop(max_q), heapq.heappop(min_q)] else: return [0,0]
파이썬의 heapq 모듈을 이용하여 풀이하였다. heapq는 최소힙을 구현해주므로 min_q에는 입력받은 숫자를 그대로 넣고, max_q에는 최대값이 가장 앞에 올 수 있도록 입력받은 숫자를 음수로 변환해서 넣어주었다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 Summer/Winter Coding(~2018) 영어 끝말잇기 (0) | 2022.10.11 |
---|---|
[Python/파이썬] 프로그래머스 JadenCase 문자열 만들기 (0) | 2022.10.10 |
[Python/파이썬] 프로그래머스 [1차]캐시 (2018 KAKAO BLIND RECRUITMENT) (0) | 2022.10.07 |
[Python/파이썬] 백준 18428번 감시 피하기 (1) | 2022.09.20 |
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |