일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- DeepLearning
- Programmers
- CBOW
- 자연어처리
- 딥러닝
- stak
- 파이썬
- algorithm
- boj
- Python
- Sigmoid
- Word2vec
- dl
- 프로그래머스
- Stack
- skip-gram
- affine
- Heap
- hash
- SQL
- PPMI
- FullyConnectedLayer
- 신경망
- select
- que
- kakao
- backward
- Numpy
- sort
- MySQL
- Today
- Total
목록Heap (2)
혜온의 이것저것
[문제 이해 및 풀이] 맨 처음에는 heapq를 사용해서 문제를 해결해야겠다고 생각했다. 우선 operations을 돌면서 하나씩 입력받으며 I이면 heap에 push해주고 숫자가 1이면 초대값을, -1이면 최소값을 출력해주는 코드를 짜려고 했다. heap은 push해주는 과정에서 최소힙 혹은 최대힙으로 바로 정렬이 가능하기 때문에 그 방법을 했지만 최소힙으로 넣은 경우에는 최대값을 출력하는 과정에서, 최대힙으로 넣은 경우에는 최소값을 출력하는 과정에서 어려움을 겪었다. 그래서 우선 stack/que를 사용해보기로 하였다. delete명령을 받으면 list정렬을 해준 뒤 맨 처음 값 혹은 맨 마지막 값을 출력해주는 코드를 짰다. 제출을 한 뒤, heapq를 이용한 방법을 찾아보다가 remove를 활용하면..
[문제 이해 및 풀이] heap을 사용하는 문제여서 heapq를 사용해야겠다고 생각했다. heapq.heappop()을 사용해서 최소값과 두번째로 작은 값을 변수에 저장을 한 뒤, heapq.heappush()를 사용해서 새로운 스코빌지수를 heap에 넣어주었다. 종료 조건인 모두 K를 넘을 경우에를 계산해주기 위해 heap의 성질을 생각하여 heap[0]가 K이상일 경우에 종료시켜주었다. 또 하나의 종료조건은 모든 음식의 스코빌 지수를 K이상으로 만들 수 없는 경우이다. 이 경우는 더 이상 섞을 음식이 없을 경우 즉, heap에 하나의 지수만 남아있는 경우에 해당된다. 따라서 이에 해당하는 if-break문을 만들어 넣어주었다. [나의 코드] import heapq def solution(scovile..