728x90
나 저번에 카뱅 코테보고 결심했어
어차피 백엔드 준비하는거, 이제 코테 파이썬이랑 자바로 하려고!!
그 때 자바로 봐서 함수 찾아보느라 거의 못했거든,,,
생각해보니까 백이면 자바 공부삼아 해도 좋을 것 같아서!
암턴! 일단 스터디는 파이썬으로 진행하고 앞에 문제들 자바로 다시 풀어볼거임
파이썬 풀이)
그냥 간단하게 구현했다
저기 뭐야 그 heap 써서 최소힙 만들고 힙에서 최댓값 찾을 땐 nlargest라는 heapq 함수 써서 구했다
그리고 마지막에 최대, 최소 반환은 max함수랑 min 함수 사용함!
아 처음에 런타임 에러가 났는데 그게 원소를 삭제하는 경우에 heap이 비어있을 수도 있으니까 그 경우는 조건문으로 예외 처리를 해줘야 되더라구
그래서 거기는 len(힙)이 0이면 그냥 pass 해서 넘어가도록 했더니 통과!
Level 3치고 쉬운 문제였던거같다!
파이썬 코드)
import heapq
def solution(operations):
answer = []
hp = []
for i in operations:
if i[0] == "I":
heapq.heappush(hp, int(i[2:]))
else:
if len(hp) == 0:
pass
elif i[2]== "-":
heapq.heappop(hp)
else:
hp = heapq.nlargest(len(hp), hp)[1:]
heapq.heapify(hp)
if hp:
answer.append(max(hp))
answer.append(min(hp))
else:
answer.append(0)
answer.append(0)
return answer
다음엔 자바로 돌아오마
빠잉
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[깊이/너비 우선 탐색(DFS/BFS)] Level 3 여행 경로 (0) | 2022.02.07 |
---|---|
[완전탐색] Level 2 소수찾기 - 파이썬 (0) | 2022.01.18 |
[힙(Heap)] Level 3 디스크 컨트롤러 - Python (0) | 2022.01.11 |
[힙(Heap)] Level 2 더 맵게 (0) | 2022.01.07 |
[스택/큐] Level 2 다리를 지나는 트럭 - Python (0) | 2022.01.06 |
댓글