diff --git a/README.md b/README.md
index 83a6340..aa13db5 100644
--- a/README.md
+++ b/README.md
@@ -16,94 +16,94 @@
| 번호 | 제목 | 난이도 | 장 | 풀이 코드 |
| --- | --- | ---- | - | --- |
-| 1 | 유효한 팰린드롬 | ★ | 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 | 문자열 뒤집기 | ★ | 6장. 문자열 조작 | [2-1.py](2-python/ch06/2-1.py)
[2-2.py](2-python/ch06/2-2.py) |
-| 3 | 로그 파일 재정렬 | ★ | 6장. 문자열 조작 | [3-1.py](2-python/ch06/3-1.py) |
-| 4 | 가장 흔한 단어 | ★ | 6장. 문자열 조작 | [4-1.py](2-python/ch06/4-1.py) |
-| 5 | 그룹 애너그램 | ★★ | 6장. 문자열 조작 | [5-1.py](2-python/ch06/5-1.py) |
-| 6 | 가장 긴 팰린드롬 부분 문자열 | ★★ | 6장. 문자열 조작 | [6-1.py](2-python/ch06/6-1.py) |
-| 7 | 두 수의 합 | ★ | 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 | 빗물 트래핑 | ★★★ | 7장. 배열 | [8-1.py](3-linear-data-structures/ch07/8-1.py)
[8-2.py](3-linear-data-structures/ch07/8-2.py) |
-| 9 | 세 수의 합 | ★★ | 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 | ★ | 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 | 자신을 제외한 배열의 곱 | ★★ | 7장. 배열 | [11-1.py](3-linear-data-structures/ch07/11-1.py) |
-| 12 | 주식을 사고팔기 가장 좋은 시점 | ★ | 7장. 배열 | [12-1.py](3-linear-data-structures/ch07/12-1.py)
[12-2.py](3-linear-data-structures/ch07/12-2.py) |
-| 13 | 팰린드롬 연결 리스트 | ★ | 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 | 두 정렬 리스트의 병합 | ★ | 8장. 연결 리스트 | [14-1.py](3-linear-data-structures/ch08/14-1.py) |
-| 15 | 역순 연결 리스트 | ★ | 8장. 연결 리스트 | [15-1.py](3-linear-data-structures/ch08/15-1.py)
[15-2.py](3-linear-data-structures/ch08/15-2.py) |
-| 16 | 두 수의 덧셈 | ★★ | 8장. 연결 리스트 | [16-1.py](3-linear-data-structures/ch08/16-1.py)
[16-2.py](3-linear-data-structures/ch08/16-2.py) |
-| 17 | 페어의 노드 스왑 | ★★ | 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 | 홀짝 연결 리스트 | ★★ | 8장. 연결 리스트 | [18-1.py](3-linear-data-structures/ch08/18-1.py) |
-| 19 | 역순 연결 리스트 II | ★★ | 8장. 연결 리스트 | [19-1.py](3-linear-data-structures/ch08/19-1.py) |
-| 20 | 유효한 괄호 | ★ | 9장. 스택, 큐 | [20-1.py](3-linear-data-structures/ch09/20-1.py) |
-| 21 | 중복 문자 제거 | ★★★ | 9장. 스택, 큐 | [21-1.py](3-linear-data-structures/ch09/21-1.py)
[21-2.py](3-linear-data-structures/ch09/21-2.py) |
-| 22 | 일일 온도 | ★★ | 9장. 스택, 큐 | [22-1.py](3-linear-data-structures/ch09/22-1.py) |
-| 23 | 큐를 이용한 스택 구현 | ★ | 9장. 스택, 큐 | [23-1.py](3-linear-data-structures/ch09/23-1.py) |
-| 24 | 스택을 이용한 큐 구현 | ★ | 9장. 스택, 큐 | [24-1.py](3-linear-data-structures/ch09/24-1.py) |
-| 25 | 원형 큐 디자인 | ★★ | 9장. 스택, 큐 | [25-1.py](3-linear-data-structures/ch09/25-1.py) |
-| 26 | 원형 데크 디자인 | ★★ | 10장. 데크, 우선 순위 큐 | [26-1.py](3-linear-data-structures/ch10/26-1.py) |
-| 27 | k개 정렬 리스트 병합 | ★ | 10장. 데크, 우선 순위 큐 | [27-1.py](3-linear-data-structures/ch10/27-1.py) |
-| 28 | 해시맵 디자인 | ★ | 11장. 해시 테이블 | [28-1.py](3-linear-data-structures/ch11/28-1.py) |
-| 29 | 보석과 돌 | ★ | 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 | 중복 문자 없는 가장 긴 부분 문자열 | ★★ | 11장. 해시 테이블 | [30-1.py](3-linear-data-structures/ch11/30-1.py) |
-| 31 | 상위 K 빈도 요소 | ★★ | 11장. 해시 테이블 | [31-1.py](3-linear-data-structures/ch11/31-1.py)
[31-2.py](3-linear-data-structures/ch11/31-2.py) |
-| 32 | 섬의 개수 | ★★ | 12장. 그래프 | [32-1.py](4-non-linear-data-structures/ch12/32-1.py) |
-| 33 | 전화 번호 문자 조합 | ★★ | 12장. 그래프 | [33-1.py](4-non-linear-data-structures/ch12/33-1.py) |
-| 34 | 순열 | ★★ | 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 | 조합 | ★★ | 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 | 조합의 합 | ★★ | 12장. 그래프 | [36-1.py](4-non-linear-data-structures/ch12/36-1.py) |
-| 37 | 부분 집합 | ★★ | 12장. 그래프 | [37-1.py](4-non-linear-data-structures/ch12/37-1.py) |
-| 38 | 일정 재구성 | ★★ | 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 | 코스 스케줄 | ★★ | 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 | 네트워크 딜레이 타임 | ★★ | 13장. 최단 경로 문제 | [40-1.py](4-non-linear-data-structures/ch13/40-1.py) |
-| 41 | K 경유지 내 가장 저렴한 항공권 | ★★ | 13장. 최단 경로 문제 | [41-1.py](4-non-linear-data-structures/ch13/41-1.py) |
-| 42 | 이진 트리의 최대 깊이 | ★ | 14장. 트리 | [42-1.py](4-non-linear-data-structures/ch14/42-1.py) |
-| 43 | 이진 트리의 직경 | ★ | 14장. 트리 | [43-1.py](4-non-linear-data-structures/ch14/43-1.py) |
-| 44 | 가장 긴 동일 값의 경로 | ★ | 14장. 트리 | [44-1.py](4-non-linear-data-structures/ch14/44-1.py) |
-| 45 | 이진 트리 반전 | ★ | 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 | 두 이진 트리 병합 | ★ | 14장. 트리 | [46-1.py](4-non-linear-data-structures/ch14/46-1.py) |
-| 47 | 이진 트리 직렬화 & 역직렬화 | ★★★ | 14장. 트리 | [47-1.py](4-non-linear-data-structures/ch14/47-1.py) |
-| 48 | 균형 이진 트리 | ★ | 14장. 트리 | [48-1.py](4-non-linear-data-structures/ch14/48-1.py) |
-| 49 | 최소 높이 트리 | ★★ | 14장. 트리 | [49-1.py](4-non-linear-data-structures/ch14/49-1.py) |
-| 50 | 정렬된 배열의 이진 탐색 트리 변환 | ★ | 14장. 트리 | [50-1.py](4-non-linear-data-structures/ch14/50-1.py) |
-| 51 | 이진 탐색 트리(BST)를 더 큰 수 합계 트리로 | ★★ | 14장. 트리 | [51-1.py](4-non-linear-data-structures/ch14/51-1.py) |
-| 52 | 이진 탐색 트리(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) 노드 간 최소 거리 | ★ | 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 | 전위, 중위 순회 결과로 이진 트리 구축 | ★★ | 14장. 트리 | [54-1.py](4-non-linear-data-structures/ch14/54-1.py) |
-| 55 | 배열의 K번째 큰 요소 | ★★ | 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 | 트라이 구현 | ★★ | 16장. 트라이 | [56-1.py](4-non-linear-data-structures/ch16/56-1.py) |
-| 57 | 팰린드롬 페어 | ★★★ | 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 | 리스트 정렬 | ★★ | 17장. 정렬 | [58-1.py](5-algorithms/ch17/58-1.py)
[58-3.py](5-algorithms/ch17/58-3.py) |
-| 59 | 구간 병합 | ★★ | 17장. 정렬 | [59-1.py](5-algorithms/ch17/59-1.py) |
-| 60 | 삽입 정렬 리스트 | ★★ | 17장. 정렬 | [60-1.py](5-algorithms/ch17/60-1.py)
[60-2.py](5-algorithms/ch17/60-2.py) |
-| 61 | 가장 큰 수 | ★★ | 17장. 정렬 | [61-1.py](5-algorithms/ch17/61-1.py) |
-| 62 | 유효한 애너그램 | ★ | 17장. 정렬 | [62-1.py](5-algorithms/ch17/62-1.py) |
-| 63 | 색 정렬 | ★★ | 17장. 정렬 | [63-1.py](5-algorithms/ch17/63-1.py) |
-| 64 | 원점에 K번째 가까운 점 | ★★ | 17장. 정렬 | [64-1.py](5-algorithms/ch17/64-1.py) |
-| 65 | 이진 검색 | ★ | 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 | 회전 정렬된 배열 검색 | ★★ | 18장. 이진 검색 | [66-1.py](5-algorithms/ch18/66-1.py) |
-| 67 | 두 배열의 교집합 | ★ | 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 | ★ | 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 | ★★ | 18장. 이진 검색 | [69-1.py](5-algorithms/ch18/69-1.py)
[69-2.py](5-algorithms/ch18/69-2.py) |
-| 70 | 싱글 넘버 | ★ | 19장. 비트 조작 | [70-1.py](5-algorithms/ch19/70-1.py) |
-| 71 | 해밍 거리 | ★ | 19장. 비트 조작 | [71-1.py](5-algorithms/ch19/71-1.py) |
-| 72 | 두 정수의 합 | ★★★ | 19장. 비트 조작 | [72-1.py](5-algorithms/ch19/72-1.py)
[72-2.py](5-algorithms/ch19/72-2.py) |
-| 73 | UTF-8 검증 | ★★ | 19장. 비트 조작 | [73-1.py](5-algorithms/ch19/73-1.py) |
-| 74 | 1비트의 개수 | ★ | 19장. 비트 조작 | [74-1.py](5-algorithms/ch19/74-1.py)
[74-2.py](5-algorithms/ch19/74-2.py) |
-| 75 | 최대 슬라이딩 윈도우 | ★★★ | 20장. 슬라이딩 윈도우 | [75-1.py](5-algorithms/ch20/75-1.py)
[75-2.py](5-algorithms/ch20/75-2.py) |
-| 76 | 부분 문자열이 포함된 최소 윈도우 | ★★★ | 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 | 가장 긴 반복 문자 대체 | ★★ | 20장. 슬라이딩 윈도우 | [77-1.py](5-algorithms/ch20/77-1.py) |
-| 78 | 주식을 사고 팔기 가장 좋은 시점 II | ★ | 21장. 그리디 알고리즘 | [78-1.py](5-algorithms/ch21/78-1.py)
[78-2.py](5-algorithms/ch21/78-2.py) |
-| 79 | 키에 따른 대기열 재구성 | ★★ | 21장. 그리디 알고리즘 | [79-1.py](5-algorithms/ch21/79-1.py) |
-| 80 | 태스크 스케줄러 | ★★ | 21장. 그리디 알고리즘 | [80-1.py](5-algorithms/ch21/80-1.py) |
-| 81 | 주유소 | ★★ | 21장. 그리디 알고리즘 | [81-1.py](5-algorithms/ch21/81-1.py)
[81-2.py](5-algorithms/ch21/81-2.py) |
-| 82 | 쿠키 부여 | ★ | 21장. 그리디 알고리즘 | [82-1.py](5-algorithms/ch21/82-1.py)
[82-2.py](5-algorithms/ch21/82-2.py) |
-| 83 | 과반수 엘리먼트 | ★ | 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 | 괄호를 삽입하는 여러가지 방법 | ★★ | 22장. 분할 정복 | [84-1.py](5-algorithms/ch22/84-1.py) |
-| 85 | 피보나치 수 | ★ | 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 | 최대 서브 배열 | ★ | 23장. 다이나믹 프로그래밍 | [86-1.py](5-algorithms/ch23/86-1.py)
[86-2.py](5-algorithms/ch23/86-2.py) |
-| 87 | 계단 오르기 | ★ | 23장. 다이나믹 프로그래밍 | [87-1.py](5-algorithms/ch23/87-1.py)
[87-2.py](5-algorithms/ch23/87-2.py) |
-| 88 | 집 도둑 | ★ | 23장. 다이나믹 프로그래밍 | [88-1.py](5-algorithms/ch23/88-1.py)
[88-2.py](5-algorithms/ch23/88-2.py) |
+| 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-i/) | ★ | 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) | 비밀 지도 | ★ | 부록 B. 카카오 공채 문제 풀이 | [1.py](appendix-B/1.py) |
| 90(문제 2) | 다트 게임 | ★ | 부록 B. 카카오 공채 문제 풀이 | [2.py](appendix-B/2.py) |
| 91(문제 3) | 캐시 | ★ | 부록 B. 카카오 공채 문제 풀이 | [3.py](appendix-B/3.py) |