[파이썬🐍] 백준 7576 : 토마토
프로그래머스 레벨1,2까지는 dfs로 풀만한 문제들이 거의 없다. 요즘 프로그래머스만 풀다보니까 dfs와 bfs를 까먹고 있다는 느낌이 들어서 다시 백준으로 넘어와서 문제를 풀어보려한다. from collections import deque m,n = map(int,input().split()) s = [] queue = deque() dx = [1,-1,0,0] dy = [0,0,-1,1] for i in range(n): s.append(list(map(int,input().split()))) def bfs(): while queue: a,b = queue.popleft() for i in range(4): x = a+dx[i] y = b+dy[i] if 0
2021. 5. 29.
[파이썬🐍] 백준 4963 : 섬의 개수
이 문제는 특별하게 대각선까지 확인해준다. 간단히 상하좌우에서 4좌표만 더 찍어주면 된다! import sys sys.setrecursionlimit(100000) dx = [-1, 1, 0, 0, -1, -1, 1, 1] dy = [0, 0, -1, 1, 1, -1, 1, -1] def dfs(x, y, matrix): matrix[x][y] = 0 for i in range(8): nx = x + dx[i] ny = y + dy[i] if (0
2021. 4. 12.
[파이썬🐍] 백준 10026 : 적록색약
후 아슬아슬하게 올릴 수 있겠다^^ 오늘은 토스 시험도 보고 오고 아주 바쁜 하루를 보내서 늦어졌다. 그래도 포스팅 잊지 않은 나 칭찬해! from collections import deque n = int(input()) grim = [list(input()) for _ in range(n)] visited = [[0]*n for _ in range(n)] dx = [-1,1,0,0] dy = [0,0,-1,1] cnt1,cnt2 = 0,0 q = deque() def bfs(i,j): q.append([i,j]) visited[i][j] = 1 while q: x,y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if (0
2021. 4. 10.