Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Til
- 99일지
- 항해플러스
- 파이썬 |
- 파이썬 클래스
- 백준
- cp949
- 10430번
- 항해99
- 파이썬 map 함수
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- 항해
- MomentumParameters
- print("""
- 99클럽
- 주니어개발자역량강화
- not a git repository
- 개발자사이드프로젝트
- 개발자스터디
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
- 코딩부트캠프후기
- print sep
- 코딩테스트
- 파이썬 int()
- 파이썬 sep
- 주니어개발자멘토링
- 파이썬
- vscode cp949
- fatal:not a git repository
- EnvCommandError
Archives
- Today
- Total
선발대
[스파르타] 99클럽 2기 코테스터디 5일차 TIL / 더 맵게 본문
프로그래머스: 더 맵게 (링크)
라이브러리 heapq를 사용했다.
heapq.heapify(): 주어진 리스트를 힙으로 변경한다.
heapq.heappop(): 가장 최소의 수를 뽑는다.
heapq.heappush(): 힙에 다시 수를 넣는다
heapq.heapify()를 사용하게 되면 작은 순서부터 자동으로 정렬된다. 그러면 문제에서 주어진 조건대로 heapq.heappop()을 이용하여 가장 작은 수를 하나씩 뽑은 후 계산한 후 다시 heapq.push()로 넣고 cnt + 1를 한다. 가장 최소의 값이 K 이하가 될 때까지 계속 while문을 돌린다.
import heapq
def solution(scoville, K):
heapq.heapify(scoville)
min_sum = 0
cnt = 0
while scoville[0] < K:
try:
min1 = heapq.heappop(scoville)
min2 = heapq.heappop(scoville)
heapq.heappush(scoville, min1 + min2*2)
cnt += 1
except:
return -1
return cnt
'스파르타코딩클럽 > 활동 내용' 카테고리의 다른 글
[스파르타] 99클럽 2기 코테스터디 7일차 TIL / 가장 큰 수 (0) | 2024.05.26 |
---|---|
[스파르타] 99클럽 2기 코테스터디 6일차 TIL / leet 2336 (0) | 2024.05.25 |
[스파르타] 99클럽 2기 코테스터디 4일차 TIL / 올바른 괄호 (0) | 2024.05.23 |
[스파르타] 99클럽 2기 코테스터디 3일차 TIL / 기능개발 (0) | 2024.05.22 |
[스파르타] 99클럽 2기 코테스터디 2일차 TIL / 의상 (0) | 2024.05.21 |
Comments