본문 바로가기
+ 도서 오류 정보

[정오표] 파이썬 알고리즘 인터뷰

by 책만 2020. 7. 21.

# 2020년 10월 30일 전자책 1.0 정오표



p185. 코드 중 아래에서 2째줄

results.append((nums[i], nums[j], nums[k]))

->

results.append([nums[i], nums[j], nums[k]])


p188. 코드 중 10째줄

results.append((nums[i], nums[left], nums[right]))

->

results.append([nums[i], nums[left], nums[right]])

※ 이와 관련한 자세한 설명은 #53 이슈를 읽어주시기 바랍니다.


p307. 본문 1째 줄

>>> k번 이상 등장하는

->

>>> 상위 k번 이상 등장하는

p307. 풀이 1째 줄

>>> k번반큼 추출하면

->

>>> 상위 k번만큼 추출하면

p309. 풀이 1째 줄

>>> k 빈도 이상의

->

>>> 상위 k번만큼의

※ 이와 관련한 자세한 설명은 #51 이슈를 읽어주시기 바랍니다.


p549. 밑에서 8째 줄

>>> 5 & -4

->

>>> 5 -4

※ 이와 관련한 자세한 설명은 #49 이슈를 읽어주시기 바랍니다.


p613. 그림 22-4 중  하단 우측 상자

[1,5] -> [1,1]

※ 이와 관련한 자세한 설명은 #57 이슈를 읽어주시기 바랍니다.


p645. 3행

dp[0], dp[1] = nums[0], max(dp[0], dp[1])

->

dp[0], dp[1] = nums[0], max(nums[0], nums[1])

※ 이와 관련한 자세한 설명은 #58 이슈를 읽어주시기 바랍니다.


# 2020년 7월 15일 초판 1쇄본 정오표 #

p110. 본문 1~2째 줄

집합은 딕셔너리 동일하게 -> 집합은 딕셔너리 동일하게


p260. 밑에서 7째 줄

리어Rear 포인터가 원래의 프론트 포인터 자리까지 -> rear 포인터가 원래의 front 포인터 자리까지


p274. 27번 문제의 [입력] 부분 

-> 전체 1개의 박스로 묶여야 합니다.

● 입력

[

  1->4->5,

  1->3->4,

  2-5

]



p299. 첫 번째 코드블록에서 첫 행 'B' : 1, 빠져야 합니다.


{     

    'a': 1,

    'A': 2,

    'b': 4

}


p331. [예제 2] 출력 값 1 오류

[예제 2]

● 출력

1 -> 3


p399. 3번째 문단 1째 줄

이 그림에서 여기서 -> 이 그림에서 


p552. 밑에서 2째 줄

침체기에 들었다. -> 침체기에 빠들었다.



# 2020년 8월 5일 2쇄 정오표 # (1쇄본도 확인 바랍니다)


p56. 자바 코드 마지막 행 중괄호 누락

sum += i;

->
sum += i;
}
※ 이와 관련한 자세한 설명은 #46 이슈를 읽어주시기 바랍니다.

p101. 6째 줄

상수항은 -> 계수는


p101. 아래에서 7째 줄

최댓값 또는 최솟값 경우가 -> 최댓값 또는 최솟값을 찾는 경우가

※ 이와 관련한 자세한 설명은 #47 이슈를 읽어주시기 바랍니다.


p152. 7째 줄

return max(counts , key=count.get) -> return max(counts, key=counts.get)


p154. 풀이1의 전체 코드 中 마지막 행 수정

return anagrams.values() -> return list(anagrams.values())

※ 여기서 수정된 반환형과 관련한 자세한 설명은 #6 이슈를 읽어주시기 바랍니다.


p161. 본문 두 번째 코드 블록의 3, 4행 중 "s, " 삭제

expand(s, i, i + 1), 

expand(s, i, i + 2), 

->
expand(i, i + 1), 
expand(i, i + 2), 

p161. 하단 박스 4행

while left >= 0 and right <= len(s) and s[left] == s[right - 1]:
->
while left >= 0 and right < len(s) and s[left] == s[right]:
※ 이와 관련한 자세한 설명은 #38 이슈를 읽어주시기 바랍니다.

p163. 아래에서 3째 줄

값이 128이하라면 -> 값이 127이하라면

※ 이와 관련한 자세한 설명은 #45 이슈를 읽어주시기 바랍니다.

p174. 본문 두 번째 코드 블록의 마지막 행

return nums.index(n), nums[i + 1:].index(complement) + (i + 1)

->

return [nums.index(n), nums[i + 1:].index(complement) + (i + 1)]

※ 이와 관련한 자세한 설명은 #32 이슈를 읽어주시기 바랍니다.

p175. 본문 코드 블록의 마지막 행

return nums.index(num), nums_map[target - num]

->

return [i, nums_map[target - num]]

※ 이와 관련한 자세한 설명은 #39 이슈를 읽어주시기 바랍니다.

p177. 풀이5의 전체 코드 中 주석 위치 바뀜

(상략) 

    while not left == right:

        # 합이 타겟보다 작으면 왼쪽 포인터를 오른쪽으로

        if nums[left] + nums[right] < target:

            left += 1

        # 합이 타겟보다 크면 오른쪽 포인터를 왼쪽으로

        elif nums[left] + nums[right] > target:

(하략)


p177. 풀이5의 전체 코드 中 마지막 행

return left, right -> return [left, right]


p185. 전체 코드 중 1행: 예약어 def 오타 (d 누락)

ef threeSum(self, nums: List[int]) -> List[List[int]]:

->

def threeSum(self, nums: List[int]) -> List[List[int]]:


p185. 아래에서 2째줄

results.append((nums[i], nums[j], nums[k]))

->

results.append([nums[i], nums[j], nums[k]])


p188. 코드 중 10째줄

results.append((nums[i], nums[left], nums[right]))

->

results.append([nums[i], nums[left], nums[right]])

※ 이와 관련한 자세한 설명은 #53 이슈를 읽어주시기 바랍니다.



p211. [다중 할당] 문법 참고 박스: 밑에서 5째 줄

파이썬에는 원시  타입이 존재하지 않다. -> ~ 존재하지 않다.


p216. 표 안 우선순위 12번 줄

\| -> |


p222. 본문 첫 번째 코드 블록의 1행 중

def toList(self, node: ListNode) -> ListNode

->

def toList(self, node: ListNode) -> List:


p222. 본문 두 번째 코드 블록의 1행 중

def toReversedLinkedList(self, result: ListNode) -> ListNode:

->

def toReversedLinkedList(self, result: str) -> ListNode:


p223. 박스 안 13째 줄

def toList(self, node: ListNode) -> ListNode

->

def toList(self, node: ListNode) -> List:


p224. 박스 안 2째 줄

def toReversedLinkedList(self, result: ListNode) -> ListNode:

->

def toReversedLinkedList(self, result: str) -> ListNode:

※ 이와 관련한 자세한 설명은 #31 이슈를 읽어주시기 바랍니다.


p282. 밑에서 2-3째 줄

10개의 공간 중 1개밖에 -> 9개의 공간 중 1개밖에


p292. 두 번째 문단 첫 줄

삭제 emove()의 -> 삭제 remove()


p307. 본문 1째 줄

>>> k번 이상 등장하는

->

>>> 상위 k번 이상 등장하는

p307. 풀이 1째 줄

>>> k번반큼 추출하면

->

>>> 상위 k번만큼 추출하면

p309. 풀이 1째 줄

>>> k 빈도 이상의

->

>>> 상위 k번만큼의

※ 이와 관련한 자세한 설명은 #51 이슈를 읽어주시기 바랍니다.


p347. 본문 첫 번째 코드 블록의 3행 아래 행 추가

p347. 박스 안 6째 줄 아래 행 추가

results.append(elements[:])

->

results.append(elements[:])

return

※ 이와 관련한 자세한 설명은 #30 이슈를 읽어주시기 바랍니다.


p350. 박스 안 6째 줄

60에서 6을 나눈 6/60=10이 -> 60 6으로 나눈 60/6=10이


p368. 풀이 전체 코드 중 15행

# 이미 방문했던 노드이면 False -> # 이미 방문했던 노드이면 True


p450. 아래에서 10째 줄

while parent >= 0: -> while parent > 0: 

※ 이와 관련한 자세한 설명은 #48 이슈를 읽어주시기 바랍니다.

p456. 풀이 전체 코드 중 8행

p457. 첫 번째 박스 안 6째 줄

for _ in range(k):

->

for _ in range(1, k):

※ 이와 관련한 자세한 설명은 #30 이슈를 읽어주시기 바랍니다.


p473. 박스 안 23째 줄 삭제

node = node.children[char]

node.val = char

->

node = node.children[char]

※ 이와 관련한 자세한 설명은 #40 이슈를 읽어주시기 바랍니다.


p502. 아래에서 10째 줄

cur보다 작은 상태라면 -> cur보다  상태라면

※ 이와 관련한 자세한 설명은 #41 이슈를 읽어주시기 바랍니다.

p520. 풀이 4 첫 줄

이진 검색을 사용하 풀었지만 -> 이진 검색을 사용하 풀었지만

※ 이와 관련한 자세한 설명은 #44 이슈를 읽어주시기 바랍니다.

p549. 밑에서 8째 줄

>>> 5 & -4

->

>>> 5 -4

※ 이와 관련한 자세한 설명은 #49 이슈를 읽어주시기 바랍니다.

p613. 그림 22-4 중  하단 우측 상자

[1,5] -> [1,1]

※ 이와 관련한 자세한 설명은 #57 이슈를 읽어주시기 바랍니다.


p640. 그림 23-9 첫 번째 우측 자식 노드 오타 (그림 내 빨간 글씨 부분)

n-1 계단 -> n-2 계단


p645. 3행

dp[0], dp[1] = nums[0], max(dp[0], dp[1])

->

dp[0], dp[1] = nums[0], max(nums[0], nums[1])

※ 이와 관련한 자세한 설명은 #58 이슈를 읽어주시기 바랍니다.


p692. 밑에서 3째 줄

간단히  단위로 -> 간단히 단위로


p693. 초 -> 분 일괄 변경


p694. 박스 안 3 째 줄

1 전 도착 -> 1  전 도착


p694. 박스 안 10 째 줄

, 초로 다시 변경 -> , 분으로 다시 변경

※ 이와 관련한 자세한 설명은 #34 이슈를 읽어주시기 바랍니다.


댓글6

  • 정오 2020.09.02 14:27

    안녕하세요 오탈자가 있어 댓글남깁니다.

    p.101 4th line : 상수항은 무시한다
    p.101 6th line : 상수항은 무시하며

    "상수항"이라는 단어의 수학적 정의에 따르면
    예시로 든 4n^2 + 3n + 4 에서 4n^2, 3n, 4 의 세 가지 항 중에서 4 라는 항을 의미하며,

    본 글에서 의도하는 바인 4n^2 에서의 4 라는 숫자는
    "최고차항의 계수"로 표현하는 것이 수학적으로 올바른 표현으로 보입니다.
    답글

    • Favicon of https://www.onlybook.co.kr 책만 2020.09.15 09:54 신고

      안녕하세요. 독자님.

      말씀하신 사항이 정확히 맞습니다. 내용 설명에서 표현에 오류가 있었음에 사과 말씀 드리며, 말씀하신 사항은 정오표에 등록해두겠습니다.

      저희 책 꼼꼼히 읽고 의견 남겨주셔서 감사합니다.

  • 219쪽 2020.10.06 16:16

    219쪽 풀이
    return reverse(head)에서 오류가 나는데 정오 확인해주실 수 있나요?
    reverse는 인자를 2개 받아야하는데 head 하나밖에 받고 있지 않아서 나는 오류인거같은데
    답글

    • Favicon of https://www.onlybook.co.kr 책만 2020.10.06 16:22 신고

      안녕하세요. 독자님.
      관련 문의는 깃허브 이슈 트래커에 올려주시면 좀 더 빠른 피드백과 토의를 이어가실 수 있을 것 같습니다. 정오사항이 확인되면 여기 정오표 페이지에도 업데이트 하겠습니다. 감사합니다.

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

  • 216쪽 2020.10.12 21:17

    안녕하세요! 좋은 책 써주셔서 잘 읽고 있습니다.
    216쪽의 표 8-1에서 14번째 우선 순위에 비트 연산 OR 연산자가
    \|로 표기되어 있는데 \(backslash)는 이스케이핑인가요?
    |로만 표기되어야 하지않나 싶어서 글 남깁니다.
    감사합니다 : )
    답글

    • Favicon of https://www.onlybook.co.kr 책만 2020.10.13 09:58 신고

      안녕하세요. 독자님.

      말씀하신 사항이 정확히 맞습니다. 내용 오류가 있었음에 사과 말씀 드리며, 말씀하신 사항은 정오표에 등록해두겠습니다.

      저희 책 꼼꼼히 읽고 의견 남겨주셔서 감사합니다. 다른 문의사항 있으시면 이슈트레커(공개 질의 페이지)에서도 좀 더 빠른 피드백과 토의를 이어가실 수 있습니다

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