티스토리 뷰
반응형
문제
코딩테스트 연습 - 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같��
programmers.co.kr
나의 풀이
def solution(scoville, K):
count = 0
short = []
for each in scoville:
if each < K:
short.append(each)
short.sort()
while True:
if len(short) == 0:
return -1
count += 1
if len(short) == 1:
break
else:
addition = short[0] + short[1]
short.pop()
short.pop()
if addition < K:
insertsort_right(short, addition)
return count
def insertsort_right(arr, a):
for i in range(len(arr)):
if arr[len(arr) - 1 - i] >= a:
arr.insert(i, a)
break
이렇게 편한게 있는지 몰랐다
heapify를 사용하면 자동으로 minheap구조로 바꿔준다
import heapq
def solution(scoville, K):
# scoville을 minheap구조로 바꿈
heapq.heapify(scoville)
count = 0
while len(scoville) > 1:
count += 1
f = heapq.heappop(scoville)
s = heapq.heappop(scoville)
heapq.heappush(scoville, f+s*2)
if scoville[0] >= K:
return count
return -1
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 카카오톡으로 로그인 오류
- 카카오 키해시
- 코틀린 리스트뷰
- 코틀린 뷰바인딩
- 백준 1806
- 코틀린 뷰페이저
- 전화번호목록 파이썬
- TextFormField keyboard
- 파이썬 최대공약수
- 시뮬레이터 키보드
- flutter simultor
- kotlin fragment
- 투포인터 알고리즘
- 코틀린
- 안드로이드
- 백준
- Kotlin
- 백준 2003
- 백준알고리즘
- 코틀린 바텀네비게이션
- 프로그래머스
- 백준 1644
- 안드로이드 카카오톡으로 로그인
- 코틀린 데이터바인딩
- counting sort
- 카카오 기출
- 투포인터 알고리즘 파이썬
- 안드로이드 키해시
- 소수 구하기 파이썬
- 데이터바인딩 뷰바인딩 차이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함