Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/onlybooks/python-algorithm-interview

<파이썬 알고리즘 인터뷰> 95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트
https://github.com/onlybooks/python-algorithm-interview

Last synced: 15 days ago
JSON representation

<파이썬 알고리즘 인터뷰> 95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트

Awesome Lists containing this project

README

        

# 파이썬 알고리즘 인터뷰

95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트

★ 안내: 2023년 9월, [《자바 알고리즘 인터뷰 with 코틀린》](https://github.com/onlybooks/java-algorithm-interview) 신간이 출간되었습니다!

《파이썬 알고리즘 인터뷰》는 다음 판매처에서 구매하실 수 있습니다.
- [교보문고](https://bit.ly/3feaYxi)
- [YES24](https://bit.ly/3iGw8Gw)
- [알라딘](http://aladin.kr/p/2fU2N)
- [인터파크](https://bit.ly/3f9SyOg)

및 전국 교보문고 매장

★ 정오표: https://www.onlybook.co.kr/entry/algorithm-interview-errata
★ 도서정보: https://www.onlybook.co.kr/entry/algorithm-interview

★ YouTube: https://www.youtube.com/watch?v=fNyGHpSWhTA

☆ 학교나 학원에서 강의를 진행하시는 교수님/강사님께 제공 가능한 이 책의 강의 교안 자료가 준비되어 있습니다. (1) 성함, 연락처 (2) 강의처 (3) 강의 교과목 (4) 간단한 강의계획 등을 정리하셔서 [email protected] 이메일로 보내주십시오. 내용 검토 후 제공해드리겠습니다.

★ 참고: 《자바 알고리즘 인터뷰 with 코틀린》 https://github.com/onlybooks/java-algorithm-interview

![마인드맵](https://user-images.githubusercontent.com/1250095/86745916-a62e9a00-c075-11ea-9aa5-8455e2527f87.png)

## 문제 풀이
| 번호 | 제목 | 난이도 | 장 | 풀이 코드 |
| --- | --- | ---- | - | --- |
| 1 | [유효한 팰린드롬](https://leetcode.com/problems/valid-palindrome/) | ★ | 6장. 문자열 조작 | [1-1.py](2-python/ch06/1-1.py)
[1-2.py](2-python/ch06/1-2.py)
[1-3.py](2-python/ch06/1-3.py)
[1-4.c](2-python/ch06/1-4.c) |
| 2 | [문자열 뒤집기](https://leetcode.com/problems/reverse-string/) | ★ | 6장. 문자열 조작 | [2-1.py](2-python/ch06/2-1.py)
[2-2.py](2-python/ch06/2-2.py) |
| 3 | [로그 파일 재정렬](https://leetcode.com/problems/reorder-data-in-log-files/) | ★ | 6장. 문자열 조작 | [3-1.py](2-python/ch06/3-1.py) |
| 4 | [가장 흔한 단어](https://leetcode.com/problems/most-common-word/) | ★ | 6장. 문자열 조작 | [4-1.py](2-python/ch06/4-1.py) |
| 5 | [그룹 애너그램](https://leetcode.com/problems/group-anagrams/) | ★★ | 6장. 문자열 조작 | [5-1.py](2-python/ch06/5-1.py) |
| 6 | [가장 긴 팰린드롬 부분 문자열](https://leetcode.com/problems/longest-palindromic-substring/) | ★★ | 6장. 문자열 조작 | [6-1.py](2-python/ch06/6-1.py) |
| 7 | [두 수의 합](https://leetcode.com/problems/two-sum/) | ★ | 7장. 배열 | [7-1.py](3-linear-data-structures/ch07/7-1.py)
[7-2.py](3-linear-data-structures/ch07/7-2.py)
[7-3.py](3-linear-data-structures/ch07/7-3.py)
[7-4.py](3-linear-data-structures/ch07/7-4.py)
[7-5.py](3-linear-data-structures/ch07/7-5.py)
[7-6.go](3-linear-data-structures/ch07/7-6.go) |
| 8 | [빗물 트래핑](https://leetcode.com/problems/trapping-rain-water/) | ★★★ | 7장. 배열 | [8-1.py](3-linear-data-structures/ch07/8-1.py)
[8-2.py](3-linear-data-structures/ch07/8-2.py) |
| 9 | [세 수의 합](https://leetcode.com/problems/3sum/) | ★★ | 7장. 배열 | [9-1.py](3-linear-data-structures/ch07/9-1.py)
[9-2.py](3-linear-data-structures/ch07/9-2.py) |
| 10 | [배열 파티션 I](https://leetcode.com/problems/array-partition/) | ★ | 7장. 배열 | [10-1.py](3-linear-data-structures/ch07/10-1.py)
[10-2.py](3-linear-data-structures/ch07/10-2.py)
[10-3.py](3-linear-data-structures/ch07/10-3.py) |
| 11 | [자신을 제외한 배열의 곱](https://leetcode.com/problems/product-of-array-except-self/) | ★★ | 7장. 배열 | [11-1.py](3-linear-data-structures/ch07/11-1.py) |
| 12 | [주식을 사고팔기 가장 좋은 시점](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/) | ★ | 7장. 배열 | [12-1.py](3-linear-data-structures/ch07/12-1.py)
[12-2.py](3-linear-data-structures/ch07/12-2.py) |
| 13 | [팰린드롬 연결 리스트](https://leetcode.com/problems/palindrome-linked-list/) | ★ | 8장. 연결 리스트 | [13-1.py](3-linear-data-structures/ch08/13-1.py)
[13-2.py](3-linear-data-structures/ch08/13-2.py)
[13-3.go](3-linear-data-structures/ch08/13-3.go)
[13-4.py](3-linear-data-structures/ch08/13-4.py) |
| 14 | [두 정렬 리스트의 병합](https://leetcode.com/problems/merge-two-sorted-lists/) | ★ | 8장. 연결 리스트 | [14-1.py](3-linear-data-structures/ch08/14-1.py) |
| 15 | [역순 연결 리스트](https://leetcode.com/problems/reverse-linked-list/) | ★ | 8장. 연결 리스트 | [15-1.py](3-linear-data-structures/ch08/15-1.py)
[15-2.py](3-linear-data-structures/ch08/15-2.py) |
| 16 | [두 수의 덧셈](https://leetcode.com/problems/add-two-numbers/) | ★★ | 8장. 연결 리스트 | [16-1.py](3-linear-data-structures/ch08/16-1.py)
[16-2.py](3-linear-data-structures/ch08/16-2.py) |
| 17 | [페어의 노드 스왑](https://leetcode.com/problems/swap-nodes-in-pairs/) | ★★ | 8장. 연결 리스트 | [17-1.py](3-linear-data-structures/ch08/17-1.py)
[17-2.py](3-linear-data-structures/ch08/17-2.py)
[17-3.py](3-linear-data-structures/ch08/17-3.py) |
| 18 | [홀짝 연결 리스트](https://leetcode.com/problems/odd-even-linked-list/) | ★★ | 8장. 연결 리스트 | [18-1.py](3-linear-data-structures/ch08/18-1.py) |
| 19 | [역순 연결 리스트 II](https://leetcode.com/problems/reverse-linked-list-ii/) | ★★ | 8장. 연결 리스트 | [19-1.py](3-linear-data-structures/ch08/19-1.py) |
| 20 | [유효한 괄호](https://leetcode.com/problems/valid-parentheses/) | ★ | 9장. 스택, 큐 | [20-1.py](3-linear-data-structures/ch09/20-1.py) |
| 21 | [중복 문자 제거](https://leetcode.com/problems/remove-duplicate-letters/) | ★★★ | 9장. 스택, 큐 | [21-1.py](3-linear-data-structures/ch09/21-1.py)
[21-2.py](3-linear-data-structures/ch09/21-2.py) |
| 22 | [일일 온도](https://leetcode.com/problems/daily-temperatures/) | ★★ | 9장. 스택, 큐 | [22-1.py](3-linear-data-structures/ch09/22-1.py) |
| 23 | [큐를 이용한 스택 구현](https://leetcode.com/problems/implement-stack-using-queues/) | ★ | 9장. 스택, 큐 | [23-1.py](3-linear-data-structures/ch09/23-1.py) |
| 24 | [스택을 이용한 큐 구현](https://leetcode.com/problems/implement-queue-using-stacks/) | ★ | 9장. 스택, 큐 | [24-1.py](3-linear-data-structures/ch09/24-1.py) |
| 25 | [원형 큐 디자인](https://leetcode.com/problems/design-circular-queue/) | ★★ | 9장. 스택, 큐 | [25-1.py](3-linear-data-structures/ch09/25-1.py) |
| 26 | [원형 데크 디자인](https://leetcode.com/problems/design-circular-deque/) | ★★ | 10장. 데크, 우선 순위 큐 | [26-1.py](3-linear-data-structures/ch10/26-1.py) |
| 27 | [k개 정렬 리스트 병합](https://leetcode.com/problems/merge-k-sorted-lists/) | ★ | 10장. 데크, 우선 순위 큐 | [27-1.py](3-linear-data-structures/ch10/27-1.py) |
| 28 | [해시맵 디자인](https://leetcode.com/problems/design-hashmap/) | ★ | 11장. 해시 테이블 | [28-1.py](3-linear-data-structures/ch11/28-1.py) |
| 29 | [보석과 돌](https://leetcode.com/problems/jewels-and-stones/) | ★ | 11장. 해시 테이블 | [29-1.py](3-linear-data-structures/ch11/29-1.py)
[29-2.py](3-linear-data-structures/ch11/29-2.py)
[29-3.py](3-linear-data-structures/ch11/29-3.py)
[29-4.py](3-linear-data-structures/ch11/29-4.py) |
| 30 | [중복 문자 없는 가장 긴 부분 문자열](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | ★★ | 11장. 해시 테이블 | [30-1.py](3-linear-data-structures/ch11/30-1.py) |
| 31 | [상위 K 빈도 요소](https://leetcode.com/problems/top-k-frequent-elements/) | ★★ | 11장. 해시 테이블 | [31-1.py](3-linear-data-structures/ch11/31-1.py)
[31-2.py](3-linear-data-structures/ch11/31-2.py) |
| 32 | [섬의 개수](https://leetcode.com/problems/number-of-islands/) | ★★ | 12장. 그래프 | [32-1.py](4-non-linear-data-structures/ch12/32-1.py) |
| 33 | [전화 번호 문자 조합](https://leetcode.com/problems/letter-combinations-of-a-phone-number/) | ★★ | 12장. 그래프 | [33-1.py](4-non-linear-data-structures/ch12/33-1.py) |
| 34 | [순열](https://leetcode.com/problems/permutations/) | ★★ | 12장. 그래프 | [34-1.py](4-non-linear-data-structures/ch12/34-1.py)
[34-2.py](4-non-linear-data-structures/ch12/34-2.py) |
| 35 | [조합](https://leetcode.com/problems/combinations/) | ★★ | 12장. 그래프 | [35-1.py](4-non-linear-data-structures/ch12/35-1.py)
[35-2.py](4-non-linear-data-structures/ch12/35-2.py) |
| 36 | [조합의 합](https://leetcode.com/problems/combination-sum/) | ★★ | 12장. 그래프 | [36-1.py](4-non-linear-data-structures/ch12/36-1.py) |
| 37 | [부분 집합](https://leetcode.com/problems/subsets/) | ★★ | 12장. 그래프 | [37-1.py](4-non-linear-data-structures/ch12/37-1.py) |
| 38 | [일정 재구성](https://leetcode.com/problems/reconstruct-itinerary/) | ★★ | 12장. 그래프 | [38-1.py](4-non-linear-data-structures/ch12/38-1.py)
[38-2.py](4-non-linear-data-structures/ch12/38-2.py)
[38-3.py](4-non-linear-data-structures/ch12/38-3.py) |
| 39 | [코스 스케줄](https://leetcode.com/problems/course-schedule/) | ★★ | 12장. 그래프 | [39-1.py](4-non-linear-data-structures/ch12/39-1.py)
[39-2.py](4-non-linear-data-structures/ch12/39-2.py) |
| 40 | [네트워크 딜레이 타임](https://leetcode.com/problems/network-delay-time/) | ★★ | 13장. 최단 경로 문제 | [40-1.py](4-non-linear-data-structures/ch13/40-1.py) |
| 41 | [K 경유지 내 가장 저렴한 항공권](https://leetcode.com/problems/cheapest-flights-within-k-stops/) | ★★ | 13장. 최단 경로 문제 | [41-1.py](4-non-linear-data-structures/ch13/41-1.py) |
| 42 | [이진 트리의 최대 깊이](https://leetcode.com/problems/maximum-depth-of-binary-tree/) | ★ | 14장. 트리 | [42-1.py](4-non-linear-data-structures/ch14/42-1.py) |
| 43 | [이진 트리의 직경](https://leetcode.com/problems/diameter-of-binary-tree/) | ★ | 14장. 트리 | [43-1.py](4-non-linear-data-structures/ch14/43-1.py) |
| 44 | [가장 긴 동일 값의 경로](https://leetcode.com/problems/longest-univalue-path/) | ★ | 14장. 트리 | [44-1.py](4-non-linear-data-structures/ch14/44-1.py) |
| 45 | [이진 트리 반전](https://leetcode.com/problems/invert-binary-tree/) | ★ | 14장. 트리 | [45-1.py](4-non-linear-data-structures/ch14/45-1.py)
[45-2.py](4-non-linear-data-structures/ch14/45-2.py)
[45-3.py](4-non-linear-data-structures/ch14/45-3.py)
[45-4.py](4-non-linear-data-structures/ch14/45-4.py) |
| 46 | [두 이진 트리 병합](https://leetcode.com/problems/merge-two-binary-trees/) | ★ | 14장. 트리 | [46-1.py](4-non-linear-data-structures/ch14/46-1.py) |
| 47 | [이진 트리 직렬화 & 역직렬화](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/) | ★★★ | 14장. 트리 | [47-1.py](4-non-linear-data-structures/ch14/47-1.py) |
| 48 | [균형 이진 트리](https://leetcode.com/problems/balanced-binary-tree/) | ★ | 14장. 트리 | [48-1.py](4-non-linear-data-structures/ch14/48-1.py) |
| 49 | [최소 높이 트리](https://leetcode.com/problems/minimum-height-trees/) | ★★ | 14장. 트리 | [49-1.py](4-non-linear-data-structures/ch14/49-1.py) |
| 50 | [정렬된 배열의 이진 탐색 트리 변환](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/) | ★ | 14장. 트리 | [50-1.py](4-non-linear-data-structures/ch14/50-1.py) |
| 51 | [이진 탐색 트리(BST)를 더 큰 수 합계 트리로](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree/) | ★★ | 14장. 트리 | [51-1.py](4-non-linear-data-structures/ch14/51-1.py) |
| 52 | [이진 탐색 트리(BST) 합의 범위](https://leetcode.com/problems/range-sum-of-bst/) | ★ | 14장. 트리 | [52-1.py](4-non-linear-data-structures/ch14/52-1.py)
[52-2.py](4-non-linear-data-structures/ch14/52-2.py)
[52-3.py](4-non-linear-data-structures/ch14/52-3.py)
[52-4.py](4-non-linear-data-structures/ch14/52-4.py) |
| 53 | [이진 탐색 트리(BST) 노드 간 최소 거리](https://leetcode.com/problems/minimum-distance-between-bst-nodes/) | ★ | 14장. 트리 | [53-1.py](4-non-linear-data-structures/ch14/53-1.py)
[53-2.py](4-non-linear-data-structures/ch14/53-2.py) |
| 54 | [전위, 중위 순회 결과로 이진 트리 구축](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/) | ★★ | 14장. 트리 | [54-1.py](4-non-linear-data-structures/ch14/54-1.py) |
| 55 | [배열의 K번째 큰 요소](https://leetcode.com/problems/kth-largest-element-in-an-array/) | ★★ | 15장. 힙 | [55-1.py](4-non-linear-data-structures/ch15/55-1.py)
[55-2.py](4-non-linear-data-structures/ch15/55-2.py)
[55-3.py](4-non-linear-data-structures/ch15/55-3.py)
[55-4.py](4-non-linear-data-structures/ch15/55-4.py) |
| 56 | [트라이 구현](https://leetcode.com/problems/implement-trie-prefix-tree/) | ★★ | 16장. 트라이 | [56-1.py](4-non-linear-data-structures/ch16/56-1.py) |
| 57 | [팰린드롬 페어](https://leetcode.com/problems/palindrome-pairs/) | ★★★ | 16장. 트라이 | [57-1.py](4-non-linear-data-structures/ch16/57-1.py)
[57-2.py](4-non-linear-data-structures/ch16/57-2.py) |
| 58 | [리스트 정렬](https://leetcode.com/problems/sort-list/) | ★★ | 17장. 정렬 | [58-1.py](5-algorithms/ch17/58-1.py)
[58-3.py](5-algorithms/ch17/58-3.py) |
| 59 | [구간 병합](https://leetcode.com/problems/merge-intervals/) | ★★ | 17장. 정렬 | [59-1.py](5-algorithms/ch17/59-1.py) |
| 60 | [삽입 정렬 리스트](https://leetcode.com/problems/insertion-sort-list/) | ★★ | 17장. 정렬 | [60-1.py](5-algorithms/ch17/60-1.py)
[60-2.py](5-algorithms/ch17/60-2.py) |
| 61 | [가장 큰 수](https://leetcode.com/problems/largest-number/) | ★★ | 17장. 정렬 | [61-1.py](5-algorithms/ch17/61-1.py) |
| 62 | [유효한 애너그램](https://leetcode.com/problems/valid-anagram/) | ★ | 17장. 정렬 | [62-1.py](5-algorithms/ch17/62-1.py) |
| 63 | [색 정렬](https://leetcode.com/problems/sort-colors/) | ★★ | 17장. 정렬 | [63-1.py](5-algorithms/ch17/63-1.py) |
| 64 | [원점에 K번째 가까운 점](https://leetcode.com/problems/k-closest-points-to-origin/) | ★★ | 17장. 정렬 | [64-1.py](5-algorithms/ch17/64-1.py) |
| 65 | [이진 검색](https://leetcode.com/problems/binary-search/) | ★ | 18장. 이진 검색 | [65-1.py](5-algorithms/ch18/65-1.py)
[65-2.py](5-algorithms/ch18/65-2.py)
[65-3.py](5-algorithms/ch18/65-3.py)
[65-4.py](5-algorithms/ch18/65-4.py) |
| 66 | [회전 정렬된 배열 검색](https://leetcode.com/problems/search-in-rotated-sorted-array/) | ★★ | 18장. 이진 검색 | [66-1.py](5-algorithms/ch18/66-1.py) |
| 67 | [두 배열의 교집합](https://leetcode.com/problems/intersection-of-two-arrays/) | ★ | 18장. 이진 검색 | [67-1.py](5-algorithms/ch18/67-1.py)
[67-2.py](5-algorithms/ch18/67-2.py)
[67-3.py](5-algorithms/ch18/67-3.py) |
| 68 | [두 수의 합 II](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) | ★ | 18장. 이진 검색 | [68-1.py](5-algorithms/ch18/68-1.py)
[68-2.py](5-algorithms/ch18/68-2.py)
[68-3.py](5-algorithms/ch18/68-3.py)
[68-4.py](5-algorithms/ch18/68-4.py)
[68-5.py](5-algorithms/ch18/68-5.py) |
| 69 | [2D 행렬 검색 II](https://leetcode.com/problems/search-a-2d-matrix-ii/) | ★★ | 18장. 이진 검색 | [69-1.py](5-algorithms/ch18/69-1.py)
[69-2.py](5-algorithms/ch18/69-2.py) |
| 70 | [싱글 넘버](https://leetcode.com/problems/single-number/) | ★ | 19장. 비트 조작 | [70-1.py](5-algorithms/ch19/70-1.py) |
| 71 | [해밍 거리](https://leetcode.com/problems/hamming-distance/) | ★ | 19장. 비트 조작 | [71-1.py](5-algorithms/ch19/71-1.py) |
| 72 | [두 정수의 합](https://leetcode.com/problems/sum-of-two-integers/) | ★★★ | 19장. 비트 조작 | [72-1.py](5-algorithms/ch19/72-1.py)
[72-2.py](5-algorithms/ch19/72-2.py) |
| 73 | [UTF-8 검증](https://leetcode.com/problems/utf-8-validation/) | ★★ | 19장. 비트 조작 | [73-1.py](5-algorithms/ch19/73-1.py) |
| 74 | [1비트의 개수](https://leetcode.com/problems/number-of-1-bits/) | ★ | 19장. 비트 조작 | [74-1.py](5-algorithms/ch19/74-1.py)
[74-2.py](5-algorithms/ch19/74-2.py) |
| 75 | [최대 슬라이딩 윈도우](https://leetcode.com/problems/sliding-window-maximum/) | ★★★ | 20장. 슬라이딩 윈도우 | [75-1.py](5-algorithms/ch20/75-1.py)
[75-2.py](5-algorithms/ch20/75-2.py) |
| 76 | [부분 문자열이 포함된 최소 윈도우](https://leetcode.com/problems/minimum-window-substring/) | ★★★ | 20장. 슬라이딩 윈도우 | [76-1.py](5-algorithms/ch20/76-1.py)
[76-2.py](5-algorithms/ch20/76-2.py)
[76-3.py](5-algorithms/ch20/76-3.py) |
| 77 | [가장 긴 반복 문자 대체](https://leetcode.com/problems/longest-repeating-character-replacement/) | ★★ | 20장. 슬라이딩 윈도우 | [77-1.py](5-algorithms/ch20/77-1.py) |
| 78 | [주식을 사고 팔기 가장 좋은 시점 II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/) | ★ | 21장. 그리디 알고리즘 | [78-1.py](5-algorithms/ch21/78-1.py)
[78-2.py](5-algorithms/ch21/78-2.py) |
| 79 | [키에 따른 대기열 재구성](https://leetcode.com/problems/queue-reconstruction-by-height/) | ★★ | 21장. 그리디 알고리즘 | [79-1.py](5-algorithms/ch21/79-1.py) |
| 80 | [태스크 스케줄러](https://leetcode.com/problems/task-scheduler/) | ★★ | 21장. 그리디 알고리즘 | [80-1.py](5-algorithms/ch21/80-1.py) |
| 81 | [주유소](https://leetcode.com/problems/gas-station/) | ★★ | 21장. 그리디 알고리즘 | [81-1.py](5-algorithms/ch21/81-1.py)
[81-2.py](5-algorithms/ch21/81-2.py) |
| 82 | [쿠키 부여](https://leetcode.com/problems/assign-cookies/) | ★ | 21장. 그리디 알고리즘 | [82-1.py](5-algorithms/ch21/82-1.py)
[82-2.py](5-algorithms/ch21/82-2.py) |
| 83 | [과반수 엘리먼트](https://leetcode.com/problems/majority-element/) | ★ | 22장. 분할 정복 | [83-1.py](5-algorithms/ch22/83-1.py)
[83-2.py](5-algorithms/ch22/83-2.py)
[83-3.py](5-algorithms/ch22/83-3.py)
[83-4.py](5-algorithms/ch22/83-4.py) |
| 84 | [괄호를 삽입하는 여러가지 방법](https://leetcode.com/problems/different-ways-to-add-parentheses/) | ★★ | 22장. 분할 정복 | [84-1.py](5-algorithms/ch22/84-1.py) |
| 85 | [피보나치 수](https://leetcode.com/problems/fibonacci-number/) | ★ | 23장. 다이나믹 프로그래밍 | [85-1.py](5-algorithms/ch23/85-1.py)
[85-2.py](5-algorithms/ch23/85-2.py)
[85-3.py](5-algorithms/ch23/85-3.py)
[85-4.py](5-algorithms/ch23/85-4.py) |
| 86 | [최대 서브 배열](https://leetcode.com/problems/maximum-subarray/) | ★ | 23장. 다이나믹 프로그래밍 | [86-1.py](5-algorithms/ch23/86-1.py)
[86-2.py](5-algorithms/ch23/86-2.py) |
| 87 | [계단 오르기](https://leetcode.com/problems/climbing-stairs/) | ★ | 23장. 다이나믹 프로그래밍 | [87-1.py](5-algorithms/ch23/87-1.py)
[87-2.py](5-algorithms/ch23/87-2.py) |
| 88 | [집 도둑](https://leetcode.com/problems/house-robber/) | ★ | 23장. 다이나믹 프로그래밍 | [88-1.py](5-algorithms/ch23/88-1.py)
[88-2.py](5-algorithms/ch23/88-2.py) |
| 89(문제 1) | [비밀 지도](https://programmers.co.kr/learn/courses/30/lessons/17681) | ★ | 부록 B. 카카오 공채 문제 풀이 | [1.py](appendix-B/1.py) |
| 90(문제 2) | [다트 게임](https://programmers.co.kr/learn/courses/30/lessons/17682) | ★ | 부록 B. 카카오 공채 문제 풀이 | [2.py](appendix-B/2.py) |
| 91(문제 3) | [캐시](https://programmers.co.kr/learn/courses/30/lessons/17680) | ★ | 부록 B. 카카오 공채 문제 풀이 | [3.py](appendix-B/3.py) |
| 92(문제 4) | [셔틀버스](https://programmers.co.kr/learn/courses/30/lessons/17678) | ★★ | 부록 B. 카카오 공채 문제 풀이 | [4.py](appendix-B/4.py) |
| 93(문제 5) | [뉴스 클러스터링](https://programmers.co.kr/learn/courses/30/lessons/17677) | ★★ | 부록 B. 카카오 공채 문제 풀이 | [5.py](appendix-B/5.py) |
| 94(문제 6) | [프렌즈4블록](https://programmers.co.kr/learn/courses/30/lessons/17679) | ★★★ | 부록 B. 카카오 공채 문제 풀이 | [6.py](appendix-B/6.py) |
| 95(문제 7) | [추석 트래픽](https://programmers.co.kr/learn/courses/30/lessons/17676) | ★★★ | 부록 B. 카카오 공채 문제 풀이 | [7.py](appendix-B/7.py) |

## 기타 코드
- 4장 [계산 속도 비교](miscellaneous/4-performance.py)
- 9장 [스택](miscellaneous/9-stack.py)
- 11장 [생일 문제](miscellaneous/11-birthday.py)
- 12장 [그래프 순회](miscellaneous/12-graph-traversals.py)
- 14장 [트리 순회](miscellaneous/14-tree-traversals.py)
- 15장 [이진 힙](miscellaneous/15-binary-heap.py)
- 17장 [버블 정렬](miscellaneous/17-bubble-sort.py)
- 17장 [퀵 정렬](miscellaneous/17-quick-sort.py)
- 21장 [분할 가능 배낭 문제](miscellaneous/21-fractional-knapsack.py)
- 23장 [0-1 배낭 문제](miscellaneous/23-zero-one-knapsack.py)

## 리트코드 변경 사항 및 보다 효율적인 풀이
- 7번 문제는 테스트케이스가 삭제되어 실행 시간이 달라졌습니다. [#62](https://github.com/onlybooks/algorithm-interview/issues/62)
- 25번 문제의 보다 효율적인 풀이는 [#105](https://github.com/onlybooks/algorithm-interview/issues/105)를 참고하세요.
- 33번 문제의 보다 효율적인 풀이는 [#91](https://github.com/onlybooks/algorithm-interview/issues/91)을 참고하세요.
- 35번 문제의 보다 효율적인 풀이는 [#111](https://github.com/onlybooks/algorithm-interview/issues/111)을 참고하세요.
- 36번 문제의 보다 효율적인 풀이는 [#112](https://github.com/onlybooks/algorithm-interview/issues/112)를 참고하세요.
- 41번 문제가 테스트케이스 변경으로 타임아웃이 발생하여 더 이상 풀이가 되지 않습니다. [#104](https://github.com/onlybooks/algorithm-interview/issues/104)
- 47번 문제는 평가 함수의 변경으로 `TreeNode` 선언을 주석으로 처리하고 실행하세요. [#97](https://github.com/onlybooks/algorithm-interview/issues/97)
- 75번 문제는 테스트케이스가 추가되어 더 이상 풀이가 되지 않습니다. 새로운 풀이는 [#67](https://github.com/onlybooks/algorithm-interview/issues/67)을 참고하세요.