일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 타입 좁히기
- tailwind
- 공변성
- RTK Query
- dfs
- 태그된 유니온
- ESlint
- CI/CD
- map
- app router
- webpack
- recoil
- CORS
- autosize
- 무한 스크롤
- TS
- 이분 검색
- async/await
- 인터섹션
- 결정 알고리즘
- Cypress
- React
- Promise
- Jest
- SSR
- useAppDispatch
- 반공변성
- 리터럴 타입
- 호이스팅
- 투포인터
Archives
- Today
- Total
짧은코딩
2178 미로 탐색 본문
반응형
https://www.acmicpc.net/problem/2178
내 풀이(큐를 생각 못했다ㅠㅠ)
from collections import deque
n, m = map(int, input().split())
ary = []
for i in range(n):
ary.append(list(map(int, input())))
dx = [1, -1, 0, 0]
dy = [0, 0, 1, -1]
def bfs(x,y):
q = deque()
q.append((x,y))
while q:
x, y = q.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 ary[nx][ny] == 0:
continue
if ary[nx][ny] == 1:
ary[nx][ny] = ary[x][y] + 1
q.append((nx, ny))
return ary[n-1][m-1]
print(bfs(0,0))
얼마전에 "이것이 취업을 위한 코딩 테스트다"에서 공부한 문제이다. 그래서 그 방식으로 풀어야겠다고 생각했다. 거의 비슷하게 생각했지만 가장 중요한 queue를 사용하지 못했다. 이 부분을 더 기억해야겠다.
반응형
'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글
2606 바이러스 (0) | 2022.06.06 |
---|---|
2667 단지번호붙이기 (0) | 2022.06.05 |
10815 숫자 카드 (1) | 2022.06.02 |
프로그래머스) 더 맵게 (0) | 2022.05.01 |
프로그래머스) 기능개발 (0) | 2022.05.01 |
Comments