Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 이것이 코딩테스트다
- matplotlib
- 통계
- Python
- 파이썬
- ADsP
- pandas
- 데이터분석준전문가
- 데이터분석
- Deep Learning Specialization
- 머신러닝
- tableau
- 자격증
- SQLD
- sklearn
- scikit learn
- 시각화
- 데이터 분석
- Google ML Bootcamp
- pytorch
- 딥러닝
- 코딩테스트
- IRIS
- SQL
- r
- 태블로
- 회귀분석
- 데이터 전처리
- ML
- 이코테
Archives
- Today
- Total
함께하는 데이터 분석
[이것이 코딩테스트다] 이코테 파이썬 DFS/BFS 본문
음료수 얼려 먹기
n, m = map(int, input().split())
graph = []
for i in range(n) :
graph.append(list(map(int, input())))
def dfs(x, y) :
if x < 0 or x >= n or y < 0 or y >= m :
return False
if graph[x][y] == 0 :
graph[x][y] = 1
dfs(x - 1, y)
dfs(x + 1, y)
dfs(x, y - 1)
dfs(x, y + 1)
return True
return False
result = 0
for i in range(n) :
for j in range(m) :
if dfs(i, j) == True :
result += 1
print(result)
미로 탈출
from collections import deque
n, m = map(int, input().split())
graph= []
for i in range(n) :
graph.append(list(map(int, input())))
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]
def bfs(x, y) :
queue = deque()
queue.append((x, y))
while queue :
x, y = queue.popleft()
for i in range(4) :
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or nx >= n or ny < 0 or ny >= m :
continue
if graph[nx][ny] == 0 :
continue
if graph[nx][ny] == 1:
graph[nx][ny] = graph[x][y] + 1
queue.append((nx, ny))
return graph[n - 1][m - 1]
print(bfs(0, 0))
'코딩 테스트 > 이것이 코딩테스트다' 카테고리의 다른 글
[이것이 코딩테스트다] 이코테 파이썬 이진 탐색 (0) | 2023.07.17 |
---|---|
[이것이 코딩테스트다] 이코테 파이썬 정렬 (0) | 2023.07.15 |
[이것이 코딩테스트다] 이코테 파이썬 구현 (0) | 2023.07.14 |
[이것이 코딩테스트다] 이코테 파이썬 그리디 (0) | 2023.07.13 |