- 개발 언어 및 도구
- "Python 3.7+" , 리트코드, 파이참 커뮤니티 에디션
- LeetCode 125 유효한 팰린드롬 (Two Pointers, String)
- LeetCode 344 문자열 뒤집기 (Two Pointers, String, Recursion)
- LeetCode 937 로그 파일 재정렬 (Array, String, Sorting)
- LeetCode 819 가장 흔한 단어 (Hash Table, String, Counting)
- LeetCode 49 그룹 애너그램 (Hash Table, String, Sorting)
- LeetCode 5 가장 긴 팰린드롬 부분 문자열 (String, Dynamic Programming)
-
- LeetCode 1 두 수의 합 (Array, Hash Table)
- LeetCode 42 빗물 트래핑 (Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack)
- LeetCode 15 세 수의 합 (Array, Two Pointers, Sorting)
- LeetCode 561 배열 파티션 1 (Array, Greedy, Sorting, Counting Sort)
- LeetCode 238 자신을 제외한 배열의 곱 (Array, Prefix Sum)
- LeetCode 121 주식을 사고팔기 가장 좋은 시점 (Array, Dynamic Programming)
-
- LeetCode 234 팰린드롬 연결 리스트 (Linked List, Two Pointers, Stack, Recursion)
- LeetCode 21 두 정렬 리스트의 병합 (Linked List, Recursion)
- LeetCode 206 역순 연결리스트 (Linked List, Recursion)
- LeetCode 2 두 수의 덧셈 (Linked List, Math, Recursion)
- LeetCode 24 페어의 노드스왑 (Linked List, Recursion)
- LeetCode 328 홀짝 연결 리스트 (Linked List)
- LeetCode 92 역순 연결 리스트 (Linked List)
-
- LeetCode 20 유호한 괄호 (String, Stack)
- LeetCode 316 중복 문자 제거 (String, Stack, Greedy, Monotonic Stack)
- LeetCode 739 일일온도 (Array, Stack, Monotonic Stack)
- LeetCode 225 큐를 이용한 스택 구현 (Stack, Design, Queue)
- LeetCode 232 스택을 이용한 큐 구현 (Stack, Design, Queue)
- LeetCode 622 원형 큐 디자인 (Array, Linked List, Design, Queue)
-
- LeetCode 641 원형 테크 디자인 (Array, Linked List, Design, Queue)
- LeetC0de 23 k개 정렬 리스트 병합 (Linked List, Divide and Conquer, Heap(Priority Queue), Merge Sort)
-
- LeetCode 706 해시맵 디자인 (Array, Hash Table, Linked List, Design, Hash Function)
- LeetCode 771 보석과 돌 (Hash Table, String)
- LeetCode 3 중복 문자 없는 가장 긴 부분 문자열 (Hash Table, String, Sliding Window)
- LeetCode 347 상위 K 빈도 요소 (Array, Hash Table, Divide and Conquer, Sorting, Heap(Priority Queue), Bucket Sort, Counting, Quickselect)
-
- Leetcode 200 섬의 개수(Array, Depth-First Search, Breadth-First Search, Union Find, Matrix )
- Leetcode 17 전화 번호 문자 조합 (Hash Table, String, Backtracking)
- Leetcode 46 순열 (Array, Backtracking)
- LeetCode 77 조합 (Backtracking)
- LeetCode 39 조합의 합 (Array, Backtracking)
- LeetCode 78 부분 집합 (Array, Backtracking, Bit Manipulation)
- LeetCode 332 일정 재구성 (Depth-First Search, Graph, Eulerian Circuit)
- LeetCode 207 코스 스케줄 (Depth-First Search, Breadth-First Search, Graph, Topological Sort)
-
- LeetCode 743 코스 스케줄 (Depth-First Search, Breadth-First Search, Graph, Heap(Priority Queue), Shortest Path)
- LeetCode 787 K경유지 내 가장 저렴한 항공권 (Dynamic Programming, Depth-First Search, Breadth-First Search, Graph, Heap(Priority Queue), Shortest Path)
-
- LeetCode 104 이진 트리의 최대 깊이 (Tree, Depth-First Search, Breadth-First Search, Binary Tree)
- LeetCode 543 이진 트리의 직경 (Tree, Depth-First Search, Binary Tree)
- LeetCode 687 가장 긴 동일 값의 경로 (Tree, Depth-First Search Binary Tree)
- LeetCode 226 이진 트리 반전 (Tree, Depth-First Search, Breadth-First Search, Binary Tree)
- LeetCode 617 두 이진 트리 병합
- 재귀 탐색 (Tree, Depth-First Search, Breadth-First Search, Binary Tree)
- LeetCode 297 이진 트리 직렬화 & 역직렬화 (String, Tree, Depth-First Search, Breadth-First Search, Design, Binary Tree)
- LeetCode 110 균형 이진 트리 (Tree, Depth-First Search, Binary Tree)
- LeetCode 310 최소 높이 트리 (Depth-First Search, Breadth-First Search, Graph, Topological Sort)
- LeetCode 310 최소 높이 트리 (Depth-First Search, Breadth-First Search, Graph, Topological Sort)
- LeetCode 1038 이진 탐색 트리를 더 큰 수 합계 트리로 (Tree, Depth-First Search, Binary Search Tree, binary Tree)
- LeetCode 938 이진 탐색 트리 합의 범위 (Tree, Depth-First Search, Binary Search Tree, Binary Tree)
- LeetCode 783 이진탐색트리(BST) 노드간 최소 거리 (Tree, Depth-First Search, Breadth-First Search, Binary Search Tree, Binary Tree)
- LeetCode 105 전위, 중위 순회 결과로 이진 트리 구축 (Array, Hash Table, Divide and Conquer, Tree, Binary Tree)
-
- LeetCode 215 배열의 K번째 큰 요소 (Array, Divide and Conquer, Sorting, Heap (Priority Queue), Quickselect)
-
- LeetCode 208 트라이 구현 (Hash Table, String, Design, Trie)
- LeetCode 336 팰린드롬 페어 (Array, Hash Table, String, Trie)
-
- LeetCode 148 리스트 정렬 (Linked List, Two Pointers, Divide and Conquer, Sorting, Merge Sort)
- LeetCode 56 구간 병합 (Array, Sorting)
- LeetCode 147 삽입 정렬 리스트 (Linked List, Sorting)
- LeetCode 179 가장 큰 수 (String, Greedy, Sorting)
- LeetCode 242 유효한 애너그램 (Hash Table, String, Sorting)
- LeetCode 75 색 정렬 (Array, Two Pointers, Sorting)
- LeetCode 973 원점에 K번째로 가까운 점 (Array, Math, Divide and Conquer, Geometry, Sorting, Heap(Priority Queue), Quickselect)
-
- LeetCode 704 이진 검색 (Array, Binary Search)
- LeetCode 33 회전 정렬된 배열 검색 (Array, Bianry, Search)
- LeetCode 349 두 배열의 교집합 (Array, Hashtable, Two Pointers, Binary Search, Sorting)
- LeetCode 167 두 수의 합 II (Array, Two Pointers, Binary Search)
- LeetCode 240 2D 행렬 검색 II (Array, Binary Search, Divide and Conquer, Matrix)
-
- LeetCode 136 싱글 넘버 (Array, Bit Manipulation)
-
- LeetCode 122 주식을 사고팔기 가장 좋은 시점 2 (Array, Dynamic Programming, Greedy)
- LeetCode 406 키에 따른 대기열 재구성 (Array, Greedy, Binary Indexed Tree, Segment Tree, Sorting)
- LeetCode 621 태스크 스케줄러 (Array, Hash Table, Greedy, Sorting, Heap(Priority Queue), Counting)
- LeetCode 134 주유소 (Array, Greedy)
- LeetCode 455 쿠키 부여 (Array, Greedy, sorting)
Sang.Kil. Park, 파이썬 알고리즘 인터뷰, 책만, 2020, pp.14-35.
pythaac, 다익스트라 알고리즘 응용), onlybooks/python-algorithm-interview#104