파이썬 | 백준 | 11559 | Puyo Puyo
solution 1. 4개 이상 연결되어있는 경우 찾기 2. 4개 이상 연결된 뿌요의 좌표를 boom 배열에 저장해 한 번에 터트림 3. 4개 이상의 연결된 뿌요가 없을 때까지 1,2 반복 # 11559, Puyo Puyo import sys from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def bfs(x, y, ch): visited[x][y] = 1 q = deque() tmp = [] # 좌표 임시 저장하는 배열 q.append((x, y)) tmp.append((x, y)) while q: a, b = q.popleft() for i in range(4): nx = a + dx[i] ny = b + dy[i] if 0
파이썬 | 백준 | 17822 | 원판 돌리기
solution 1. bfs 이용해 같은 수가 인접해있으면 0으로 바꿈 20%대에서 틀림 반례 찾아봐야 함 # 17822, 원판 돌리기 import sys from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def bfs(x, y, n): global flag q = deque() q.append((x, y)) visited[x][y] = 1 near = False while q: a, b = q.popleft() if a != 0: nx = a-1 if circle[nx][b] == n and visited[nx][b] == 0: near = True visited[nx][b] = visited[a][b]+1 q.append((nx,..
파이썬 | 프로그래머스 | 방문 길이
def dir(d, now): if d == "U": if now[1] == 5: return (now, now)# 범위를 벗어나면 현재 위치를 두 개 갖는 튜플 반환 return (now, (now[0], now[1] + 1)) elif d == "D": if now[1] == -5: return (now, now) return (now, (now[0], now[1] - 1)) elif d == "R": if now[0] == 5: return (now, now) return ((now[0] + 1, now[1]), now) else: if now[0] == -5: return (now, now) return ((now[0] - 1, now[1]), now) def solution(dirs): rout..