## 정오표
> 출판 전에 최대한 많은 검토 과정을 거쳤으나, 여전히 책에 존재하는 오류로 인해 불편함을 드려 정말 죄송합니다.
### 초판 1쇄
#### (118p) '게임 개발' 문제의 입력 조건 오류
* 맵의 세로 크기 N과 가로 크기 M의 입력 범위는 (3 ≤ N, M ≤ 50)입니다.
#### (143p) BFS 원어 오탈자
* BFS는 Breadth First Search의 약자인데, 책에 d가 빠져 기재되어 있습니다.
#### (190p) 이진 탐색 소스코드 주석 오류
* 주석에서 "# 중간점의 값보다 찾고자 하는 값이 큰 경우 오른쪽 확인"이 올바른 내용입니다.
#### (197p) '부품 찾기' 문제의 입력 조건 및 소스코드 오류
* 문제의 조건에서 N개의 정수와 M개의 정수 모두 크기는 1보다 크고 1,000,000이하입니다.
* '계수 정렬'을 이용한 답안에서 array 리스트 변수의 크기는 1,000,001입니다.
#### (221p) 그림 내 오탈자
* 그림 ⓑ에서 그림의 오른쪽 부분은 '털 수 있음'인데 잘못 기재되어 있습니다.
#### (226p) 출력 조건 오탈자
* 출력 조건으로 "첫째 줄에 M 원을 만들기 위한 최소한의 화폐 개수를 출력한다."가 올바른 내용입니다.
#### (263p) 주석 오탈자
* 주석에서 "# x번 노드에서 y번 노드로 가는 비용이 z라는 의미"가 올바른 내용입니다.
#### (298p) '팀 결성' 문제의 입력 조건 오류
* N과 M의 입력 범위는 (1 ≤ N, M ≤ 100,000)입니다.
#### (368p) '고정점 찾기' 문제 설명 누락
* 고정점은 최대 1개만 존재합니다.
#### (423p) 두 번째 예제와 세 번째 예제 실행 결과 오류
* 두 번째 예제와 세 번째 예제의 실행 결과가 잘못 기재되어 있습니다. 올바른 실행 결과는 다음과 같습니다.
```
# 두 번째 예제
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# 세 번째 예제
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
[[0, 5, 0, 0], [0, 5, 0, 0], [0, 5, 0, 0]]
```
#### (455p) 두 번째 예시 본문 단어 표기 오류
* 두 번째 예시는 최대 힙을 구현하여 내림차순 힙 정렬을 구현하는 예시입니다.
#### (483p) 세 번째 쿼리 설명 오류
* 세 번째 쿼리는 세 번째 수부터 네 번째 수까지의 구간 합을 물어보는 [3, 4]입니다.
### 초판 2쇄
#### (255p) 수식 오탈자
* 수식에서 "D12 + D23 = 11과 비교해서 11로 갱신된다."가 올바른 내용입니다.
#### (514p) 풀이 설명 오류
* \[Step 2\]의 내용은 다음과 같이 변경되어야 올바른 내용입니다.
> 전체 남은 시간은 3초이고, 이번 단계에서는 2번 음식을 빼야 한다. 전체 음식이 2개 남아 있으므로 이번 단계에서 뺄 시간은 2(남은 음식의 개수) X 2(2번 음식을 다 먹는 시간) = 4초가 된다. 하지만 현재 전체 남은 시간이 3초인데, 이는 4보다 작으므로 빼지 않도록 한다.
#### (570p) 예시 설명
* 문제 해설의 예시 설명에 오류가 있습니다. 올바른 설명은 [수정 사항이 반영된 설명 링크](https://github.com/ndb796/python-for-coding-test/blob/master/16/5_notice.md)와 같습니다.
### 초판 3쇄
#### (369p) '공유기 설치' 문제의 모범답안 오류
* 모범답안의 start 변수를 초기화하는 부분에서 다음의 코드가 올바른 내용입니다.
```
start = 1 # 가능한 최소 거리(min gap)
end = array[-1] - array[0] # 가능한 최대 거리(max gap)
```
#### (375p) '금광' 문제의 입력 조건 오류
* 각 위치에 매장된 금의 개수는 1 이상이 아닌 0 이상입니다.
#### (398p) 문제 내용 오탈자
* 문제 설명에서 두 행성 A와 B를 터널로 연결할 때 드는 비용으로는 min(|xA-xB|, |yA-yB|, |zA-zB|)가 올바른 내용입니다.