[ BOJ / 파이썬 ] 2206 벽 부수고 이동하기
/ 제출 1 / ( 소요 시간 : 30분 ) import sys input = sys.stdin.readline from collections import deque dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] n, m = map(int, input().split()) board = [] walls = [] for i in range(n): line = list(map(int, input().strip())) for j in range(m): if line[j] == 1: walls.append((i, j)) board.append(line) result = [] for wall in walls: i, j = wall board[i][j] = 0 q = deque([(0, 0)])..
[ BOJ / 파이썬 ] 1012 유기농 배추
/ 첫 번째 제출 / import sys from collections import deque input = sys.stdin.readline T = int(input()) dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] for t in range(T): # 초기화 ## 가로, 세로, 배추 개수 m, n, k = map(int, input().split()) farm = [[0] * m for _ in range(n)] visited = [[False] * m for _ in range(n)] q = deque([]) cabbageq = deque([]) for i in range(k): y, x = map(int, input().split()) farm[x][y] = 1 worm =..
[ BOJ / 파이썬 ] 7576 토마토
/ 풀이 1 / from collections import deque m, n = map(int, input().split()) tomatoes = [list(map(int, input().split())) for _ in range(n)] dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] ripped = [[False] * m for _ in range(n)] q = deque([]) day = 0 def bfs(q): new_q = deque([]) while q: x, y = q.pop() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
[ BOJ / 파이썬 ] 2178 미로 탐색
/ 제출 1 / 첫 제출에 틀렸습니다. 가 나와서 당황했었다. 잘 .. 한 것 같은데 뭐지.. 복사하면서 줄 바꿈 등이 잘 못 옮겨졌었던 것이었습니다. 동일 소스코드를 줄정렬한 것이 아래 코드입니다. / 제출 2 / ### from collections import deque n, m = map(int, input().split()) board = [list(map(int, input())) for _ in range(n)] visited = [[False] * m for _ in range(n)] visited[0][0] = True q = deque([[0, 0]]) # 하 우 상 좌 dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] # n-1, m-1 도착할 때까지 최단거리 whi..