Skip to content

Commit 4c192a9

Browse files
committed
2 parents 0f90c41 + 430b248 commit 4c192a9

File tree

8 files changed

+29
-29
lines changed

8 files changed

+29
-29
lines changed

5/1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
stack.append(4)
1111
stack.pop()
1212

13-
print(stack[::-1]) # 최상단 원소부터 출력
1413
print(stack) # 최하단 원소부터 출력
14+
print(stack[::-1]) # 최상단 원소부터 출력

5/2.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
queue.append(4)
1414
queue.popleft()
1515

16-
print(queue) # 최하단 원소부터 출력
17-
queue.reverse() # 최상단 원소부터 출력하기 위해 역순으로 바꾸기
18-
print(queue) # 최상단 원소부터 출력
16+
print(queue) # 먼저 들어온 순서대로 출력
17+
queue.reverse() # 다음 출력을 위해 역순으로 바꾸기
18+
print(queue) # 나중에 들어온 원소부터 출력

5/5.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ def factorial_iterative(n):
88

99
# 재귀적으로 구현한 n!
1010
def factorial_recursive(n):
11-
if n == 1:
11+
if n <= 1: # n이 1 이하인 경우 1을 반환
1212
return 1
1313
# n! = n * (n - 1)!를 그대로 코드로 작성하기
1414
return n * factorial_recursive(n - 1)
1515

16-
# 각각의 방식으로 구현한 n! 출력 (n = 5)
16+
# 각각의 방식으로 구현한 n! 출력(n = 5)
1717
print('반복적으로 구현:', factorial_iterative(5))
1818
print('재귀적으로 구현:', factorial_recursive(5))

5/6.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
INF = 999999999 # 무한의 비용 선언
22

33
# 2차원 리스트를 이용해 인접 행렬 표현
4-
array = [
4+
graph = [
55
[0, 7, 5],
66
[7, 0, INF],
77
[5, INF, 0]
88
]
99

10-
print(array)
10+
print(graph)

5/7.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# 행(Row)이 3개인 2차원 리스트로 인접 리스트 표현
2-
array = [[] for _ in range(3)]
2+
graph = [[] for _ in range(3)]
3+
4+
# 노드 0에 연결된 노드 정보 저장 (노드, 거리)
5+
graph[0].append((1, 7))
6+
graph[0].append((2, 5))
37

48
# 노드 1에 연결된 노드 정보 저장 (노드, 거리)
5-
array[0].append((2, 7))
6-
array[0].append((3, 5))
9+
graph[1].append((0, 7))
710

811
# 노드 2에 연결된 노드 정보 저장 (노드, 거리)
9-
array[1].append((1, 7))
10-
11-
# 노드 3에 연결된 노드 정보 저장 (노드, 거리)
12-
array[2].append((1, 5))
12+
graph[2].append((0, 5))
1313

14-
print(array)
14+
print(graph)

5/8.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DFS 메서드 정의
1+
# DFS 함수 정의
22
def dfs(graph, v, visited):
33
# 현재 노드를 방문 처리
44
visited[v] = True
@@ -8,7 +8,7 @@ def dfs(graph, v, visited):
88
if not visited[i]:
99
dfs(graph, i, visited)
1010

11-
# 각 노드가 연결된 정보를 리스트 자료형으로 표현 (2차원 리스트)
11+
# 각 노드가 연결된 정보를 리스트 자료형으로 표현(2차원 리스트)
1212
graph = [
1313
[],
1414
[2, 3, 8],
@@ -21,7 +21,7 @@ def dfs(graph, v, visited):
2121
[1, 7]
2222
]
2323

24-
# 각 노드가 방문된 정보를 리스트 자료형으로 표현 (1차원 리스트)
24+
# 각 노드가 방문된 정보를 리스트 자료형으로 표현(1차원 리스트)
2525
visited = [False] * 9
2626

2727
# 정의된 DFS 함수 호출

5/9.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
from collections import deque
22

3-
# BFS 메서드 정의
3+
# BFS 함수 정의
44
def bfs(graph, start, visited):
55
# 큐(Queue) 구현을 위해 deque 라이브러리 사용
66
queue = deque([start])
77
# 현재 노드를 방문 처리
88
visited[start] = True
99
# 큐가 빌 때까지 반복
1010
while queue:
11-
# 큐에서 하나의 원소를 뽑아 출력하기
11+
# 큐에서 하나의 원소를 뽑아 출력
1212
v = queue.popleft()
1313
print(v, end=' ')
1414
# 해당 원소와 연결된, 아직 방문하지 않은 원소들을 큐에 삽입
@@ -17,7 +17,7 @@ def bfs(graph, start, visited):
1717
queue.append(i)
1818
visited[i] = True
1919

20-
# 각 노드가 연결된 정보를 리스트 자료형으로 표현 (2차원 리스트)
20+
# 각 노드가 연결된 정보를 리스트 자료형으로 표현(2차원 리스트)
2121
graph = [
2222
[],
2323
[2, 3, 8],
@@ -30,7 +30,7 @@ def bfs(graph, start, visited):
3030
[1, 7]
3131
]
3232

33-
# 각 노드가 방문된 정보를 리스트 자료형으로 표현 (1차원 리스트)
33+
# 각 노드가 방문된 정보를 리스트 자료형으로 표현(1차원 리스트)
3434
visited = [False] * 9
3535

3636
# 정의된 BFS 함수 호출

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
> 취업과 이직을 결정하는 알고리즘 인터뷰 완벽 가이드 (2020년 08월 05일 정식 출시)
33
44
* 이 저장소는 <b>이것이 취업을 위한 코딩 테스트다 with Python</b> (나동빈 저, 한빛미디어) 전체 소스코드를 포함하고 있습니다.
5-
* 본 책은 Python 3.7 문법을 활용하였으나, 추가적으로 Java, C++11 소스코드를 제공합니다. (08월 05일 이전에 완료)
5+
* 본 책은 Python 3.7 문법을 활용하였으나, 추가적으로 Java, C++11 소스코드를 제공합니다. (08월 05일 이전 완료)
66
* 책 내용 및 소스코드와 관련한 궁금한 점은 [Issues](https://github.com/ndb796/python-for-coding-test/issues) 탭을 이용하여 남겨주세요.
77
* 책의 오류 사항을 발견하시면 [email protected]로 보내주시면 감사하겠습니다.
88
* 이 경우, 원하신다면 [정오표](/notice.md)에 독자님의 이름(혹은 아이디)을 함께 기재해드립니다.
@@ -64,11 +64,11 @@
6464
* 탐색 알고리즘 DFS/BFS
6565
* 스택 구현 예제: [Python 3.7 코드](/5/1.py)
6666
* 큐 구현 예제: [Python 3.7 코드](/5/2.py)
67-
* 무한히 반복되는 재귀함수 예시: [Python 3.7 코드](/5/3.py)
68-
* 재귀함수의 종료 조건: [Python 3.7 코드](/5/4.py)
69-
* 팩토리얼 구현하기: [Python 3.7 코드](/5/5.py)
70-
* 인접 행렬 예시: [Python 3.7 코드](/5/6.py)
71-
* 인접 리스트 예시: [Python 3.7 코드](/5/7.py)
67+
* 무한히 반복되는 재귀함수 예제: [Python 3.7 코드](/5/3.py)
68+
* 재귀함수의 종료 조건 예제: [Python 3.7 코드](/5/4.py)
69+
* 2가지 방식으로 구현한 팩토리얼 예제: [Python 3.7 코드](/5/5.py)
70+
* 인접 행렬 예제: [Python 3.7 코드](/5/6.py)
71+
* 인접 리스트 예제: [Python 3.7 코드](/5/7.py)
7272
* DFS: [Python 3.7 코드](/5/8.py)
7373
* BFS: [Python 3.7 코드](/5/9.py)
7474
* 실전

0 commit comments

Comments
 (0)