start time → 09 : 30

end time → 20:00

time 무엇을 하였는지 작성
09:30 - 10:00 Step 5-1 : 힙(Heap ) 대표 문제 풀이 : 더 맵게 강의 듣기 ( 1회차 )
10:00 - 10:30 힙(Heap) 복습
10:30 - 12:30
12:30- 13:00 Step 5-2 : Python 풀이 예제보기
13:00 - 14 : 30 특강 - ChatGPT
14:30 - 15:10 Step 7-1 : 깊이 / 너비 우선 탐색 : 여행경로, python 풀이 , 실습
15:10 - 15:20 ⏸️
15:20 - 16:00 Step 6-1: 동적계획법(Dynamic Programming) 대표 문제 풀이: N으로 표현
16:00 - 16:10 PEP8 스타일 가이드
16:10 - 17:30 피어리뷰

어려웠던 내용


Step 5-2 : Python 풀이 예제보기

import heapq

def solution ( scoville, K ) :
	answer = 0
	heapq.heapify(scoville)
	while True :
		min1 = heapq.heappop(scoville)
		if min1 >= K :
			break
		elif len(scoville) == 0 :
			answer = -1
			break
		min2 = heapq.heappop(scoville)
		new_scoville = min1 + 2 * min2
		heapq.heappush(scoville, new_scoville)
		answer += 1

	return answer

Step 7-1 : 깊이 / 너비 우선 탐색 : 여행경로 Python 풀이

def solution (tickets) :
	routes = {}
	for t in tickets:
		routes[t[0]] = routes.get(t[0], []) + [t[1]]
	for r in routes :
		routes[r].sort(reverse = True )
	stack = ["ICN"]
	path = []
	while len(stack) > 0 :
		top = stack[-1] 
		if top not in routes or len(routes[top]) == 0 :
			path.append(stack.pop())
		else :
			stack.append(routes[top][-1])
			routes[top] = routes[top][:-1]

	return path[::-1]

Step 6-1: 동적계획법(Dynamic Programming) 대표 문제 풀이: N으로 표현