95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트
《파이썬 알고리즘 인터뷰》는 다음 판매처에서 구매하실 수 있습니다.
번호 | 제목 | 난이도 | 장 | 풀이 코드 |
---|---|---|---|---|
1 | 유효한 팰린드롬 | ★ | 6장. 문자열 조작 | 1-1.py 1-2.py 1-3.py 1-4.c |
2 | 문자열 뒤집기 | ★ | 6장. 문자열 조작 | 2-1.py 2-2.py |
3 | 로그 파일 재정렬 | ★ | 6장. 문자열 조작 | 3-1.py |
4 | 가장 흔한 단어 | ★ | 6장. 문자열 조작 | 4-1.py |
5 | 그룹 애너그램 | ★★ | 6장. 문자열 조작 | 5-1.py |
6 | 가장 긴 팰린드롬 부분 문자열 | ★★ | 6장. 문자열 조작 | 6-1.py |
7 | 두 수의 합 | ★ | 7장. 배열 | 7-1.py 7-2.py 7-3.py 7-4.py 7-5.py 7-6.go |
8 | 빗물 트래핑 | ★★★ | 7장. 배열 | 8-1.py 8-2.py |
9 | 세 수의 합 | ★★ | 7장. 배열 | 9-1.py 9-2.py |
10 | 배열 파티션 I | ★ | 7장. 배열 | 10-1.py 10-2.py 10-3.py |
11 | 자신을 제외한 배열의 곱 | ★★ | 7장. 배열 | 11-1.py |
12 | 주식을 사고팔기 가장 좋은 시점 | ★ | 7장. 배열 | 12-1.py 12-2.py |
13 | 팰린드롬 연결 리스트 | ★ | 8장. 연결 리스트 | 13-1.py 13-2.py 13-3.go 13-4.py |
14 | 두 정렬 리스트의 병합 | ★ | 8장. 연결 리스트 | 14-1.py |
15 | 역순 연결 리스트 | ★ | 8장. 연결 리스트 | 15-1.py 15-2.py |
16 | 두 수의 덧셈 | ★★ | 8장. 연결 리스트 | 16-1.py 16-2.py |
17 | 페어의 노드 스왑 | ★★ | 8장. 연결 리스트 | 17-1.py 17-2.py 17-3.py |
18 | 홀짝 연결 리스트 | ★★ | 8장. 연결 리스트 | 18-1.py |
19 | 역순 연결 리스트 II | ★★ | 8장. 연결 리스트 | 19-1.py |
20 | 유효한 괄호 | ★ | 9장. 스택, 큐 | 20-1.py |
21 | 중복 문자 제거 | ★★★ | 9장. 스택, 큐 | 21-1.py 21-2.py |
22 | 일일 온도 | ★★ | 9장. 스택, 큐 | 22-1.py |
23 | 큐를 이용한 스택 구현 | ★ | 9장. 스택, 큐 | 23-1.py |
24 | 스택을 이용한 큐 구현 | ★ | 9장. 스택, 큐 | 24-1.py |
25 | 원형 큐 디자인 | ★★ | 9장. 스택, 큐 | 25-1.py |
26 | 원형 데크 디자인 | ★★ | 10장. 데크, 우선 순위 큐 | 26-1.py |
27 | k개 정렬 리스트 병합 | ★ | 10장. 데크, 우선 순위 큐 | 27-1.py |
28 | 해시맵 디자인 | ★ | 11장. 해시 테이블 | 28-1.py |
29 | 보석과 돌 | ★ | 11장. 해시 테이블 | 29-1.py 29-2.py 29-3.py 29-4.py |
30 | 중복 문자 없는 가장 긴 부분 문자열 | ★★ | 11장. 해시 테이블 | 30-1.py |
31 | 상위 K 빈도 요소 | ★★ | 11장. 해시 테이블 | 31-1.py 31-2.py |
32 | 섬의 개수 | ★★ | 12장. 그래프 | 32-1.py |
33 | 전화 번호 문자 조합 | ★★ | 12장. 그래프 | 33-1.py |
34 | 순열 | ★★ | 12장. 그래프 | 34-1.py 34-2.py |
35 | 조합 | ★★ | 12장. 그래프 | 35-1.py 35-2.py |
36 | 조합의 합 | ★★ | 12장. 그래프 | 36-1.py |
37 | 부분 집합 | ★★ | 12장. 그래프 | 37-1.py |
38 | 일정 재구성 | ★★ | 12장. 그래프 | 38-1.py 38-2.py 38-3.py |
39 | 코스 스케줄 | ★★ | 12장. 그래프 | 39-1.py 39-2.py |
40 | 네트워크 딜레이 타임 | ★★ | 13장. 최단 경로 문제 | 40-1.py |
41 | K 경유지 내 가장 저렴한 항공권 | ★★ | 13장. 최단 경로 문제 | 41-1.py |
42 | 이진 트리의 최대 깊이 | ★ | 14장. 트리 | 42-1.py |
43 | 이진 트리의 직경 | ★ | 14장. 트리 | 43-1.py |
44 | 가장 긴 동일 값의 경로 | ★ | 14장. 트리 | 44-1.py |
45 | 이진 트리 반전 | ★ | 14장. 트리 | 45-1.py 45-2.py 45-3.py 45-4.py |
46 | 두 이진 트리 병합 | ★ | 14장. 트리 | 46-1.py |
47 | 이진 트리 직렬화 & 역직렬화 | ★★★ | 14장. 트리 | 47-1.py |
48 | 균형 이진 트리 | ★ | 14장. 트리 | 48-1.py |
49 | 최소 높이 트리 | ★★ | 14장. 트리 | 49-1.py |
50 | 정렬된 배열의 이진 탐색 트리 변환 | ★ | 14장. 트리 | 50-1.py |
51 | 이진 탐색 트리(BST)를 더 큰 수 합계 트리로 | ★★ | 14장. 트리 | 51-1.py |
52 | 이진 탐색 트리(BST) 합의 범위 | ★ | 14장. 트리 | 52-1.py 52-2.py 52-3.py 52-4.py |
53 | 이진 탐색 트리(BST) 노드 간 최소 거리 | ★ | 14장. 트리 | 53-1.py 53-2.py |
54 | 전위, 중위 순회 결과로 이진 트리 구축 | ★★ | 14장. 트리 | 54-1.py |
55 | 배열의 K번째 큰 요소 | ★★ | 15장. 힙 | 55-1.py 55-2.py 55-3.py 55-4.py |
56 | 트라이 구현 | ★★ | 16장. 트라이 | 56-1.py |
57 | 팰린드롬 페어 | ★★★ | 16장. 트라이 | 57-1.py 57-2.py |
58 | 리스트 정렬 | ★★ | 17장. 정렬 | 58-1.py 58-3.py |
59 | 구간 병합 | ★★ | 17장. 정렬 | 59-1.py |
60 | 삽입 정렬 리스트 | ★★ | 17장. 정렬 | 60-1.py 60-2.py |
61 | 가장 큰 수 | ★★ | 17장. 정렬 | 61-1.py |
62 | 유효한 애너그램 | ★ | 17장. 정렬 | 62-1.py |
63 | 색 정렬 | ★★ | 17장. 정렬 | 63-1.py |
64 | 원점에 K번째 가까운 점 | ★★ | 17장. 정렬 | 64-1.py |
65 | 이진 검색 | ★ | 18장. 이진 검색 | 65-1.py 65-2.py 65-3.py 65-4.py |
66 | 회전 정렬된 배열 검색 | ★★ | 18장. 이진 검색 | 66-1.py |
67 | 두 배열의 교집합 | ★ | 18장. 이진 검색 | 67-1.py 67-2.py 67-3.py |
68 | 두 수의 합 II | ★ | 18장. 이진 검색 | 68-1.py 68-2.py 68-3.py 68-4.py 68-5.py |
69 | 2D 행렬 검색 II | ★★ | 18장. 이진 검색 | 69-1.py 69-2.py |
70 | 싱글 넘버 | ★ | 19장. 비트 조작 | 70-1.py |
71 | 해밍 거리 | ★ | 19장. 비트 조작 | 71-1.py |
72 | 두 정수의 합 | ★★★ | 19장. 비트 조작 | 72-1.py 72-2.py |
73 | UTF-8 검증 | ★★ | 19장. 비트 조작 | 73-1.py |
74 | 1비트의 개수 | ★ | 19장. 비트 조작 | 74-1.py 74-2.py |
75 | 최대 슬라이딩 윈도우 | ★★★ | 20장. 슬라이딩 윈도우 | 75-1.py 75-2.py |
76 | 부분 문자열이 포함된 최소 윈도우 | ★★★ | 20장. 슬라이딩 윈도우 | 76-1.py 76-2.py 76-3.py |
77 | 가장 긴 반복 문자 대체 | ★★ | 20장. 슬라이딩 윈도우 | 77-1.py |
78 | 주식을 사고 팔기 가장 좋은 시점 II | ★ | 21장. 그리디 알고리즘 | 78-1.py 78-2.py |
79 | 키에 따른 대기열 재구성 | ★★ | 21장. 그리디 알고리즘 | 79-1.py |
80 | 태스크 스케줄러 | ★★ | 21장. 그리디 알고리즘 | 80-1.py |
81 | 주유소 | ★★ | 21장. 그리디 알고리즘 | 81-1.py 81-2.py |
82 | 쿠키 부여 | ★ | 21장. 그리디 알고리즘 | 82-1.py 82-2.py |
83 | 과반수 엘리먼트 | ★ | 22장. 분할 정복 | 83-1.py 83-2.py 83-3.py 83-4.py |
84 | 괄호를 삽입하는 여러가지 방법 | ★★ | 22장. 분할 정복 | 84-1.py |
85 | 피보나치 수 | ★ | 23장. 다이나믹 프로그래밍 | 85-1.py 85-2.py 85-3.py 85-4.py |
86 | 최대 서브 배열 | ★ | 23장. 다이나믹 프로그래밍 | 86-1.py 86-2.py |
87 | 계단 오르기 | ★ | 23장. 다이나믹 프로그래밍 | 87-1.py 87-2.py |
88 | 집 도둑 | ★ | 23장. 다이나믹 프로그래밍 | 88-1.py 88-2.py |
89(문제 1) | 비밀 지도 | ★ | 부록 B. 카카오 공채 문제 풀이 | 1.py |
90(문제 2) | 다트 게임 | ★ | 부록 B. 카카오 공채 문제 풀이 | 2.py |
91(문제 3) | 캐시 | ★ | 부록 B. 카카오 공채 문제 풀이 | 3.py |
92(문제 4) | 셔틀버스 | ★★ | 부록 B. 카카오 공채 문제 풀이 | 4.py |
93(문제 5) | 뉴스 클러스터링 | ★★ | 부록 B. 카카오 공채 문제 풀이 | 5.py |
94(문제 6) | 프렌즈4블록 | ★★★ | 부록 B. 카카오 공채 문제 풀이 | 6.py |
95(문제 7) | 추석 트래픽 | ★★★ | 부록 B. 카카오 공채 문제 풀이 | 7.py |