[ BOJ / 파이썬 ] 2146. 다리 만들기
와아.. BFS 이제 뚫렸나보다.. 행복해.. 재밌어.. 풀이 소요 시간 30분. 통과 # 2:40 from collections import deque n = int(input()) def make_continent(i, j, board, visited, index): n = len(board) dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] q = deque([(i, j)]) visited[i][j] = True board[i][j] = index while q: x, y = q.popleft() for k in range(4): nx = x + dx[k] ny = y + dy[k] if 0
[ BOJ / 파이썬 ] 2573. 빙산
오예 : ) 간만에 한 번에 뚫었다. from collections import deque dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def get_iceberg_num(board): n, m = len(board), len(board[0]) count = 0 visited = [[False] * m for _ in range(n)] for i in range(n): for j in range(m): if board[i][j] != 0 and not visited[i][j]: count += 1 q = deque([(i, j)]) visited[i][j] = True while q: x, y = q.popleft() for k in range(4): nx = x + dx[k] n..
[ BOJ / 파이썬 ] 11559. Puyo Puyo
40분 걸려서 풀었는데.. 18%인가에서 '틀렸습니다.' .. 😥😥 확실히 시뮬레이션 유형, 그니까 코드 구현력이 약하다.. 많이 풀면서 속도와 정확도 올리는 것에 관심 가져야겠다. 1차 제출. 실패 코드. 풀이시간 40분 import sys input = sys.stdin.readline from collections import deque dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def bfs(a, b, field): visited = [[False]*6 for _ in range(12)] q = deque([(a, b)]) visited[a][b] = True puyos = [] while q: x, y = q.popleft() puyos.append((x, y)) for..
[ BOJ / 파이썬 ] 6593. 상범빌딩
아싸 ~ 3차원 BFS ..! 아 인덱스 때문에 머리 꼬여서 고생했는데 하루 자고 풀어보니까 풀린다 ㅎㅎㅎㅎㅎㅎ 행복해 ~ 재밌어 코테 ㅎㅎㅎㅎ 그 .. 개인적으로 3차원에서 z 인덱스를 맨 앞으로 뺀다는 부분에서 헷갈리지 말아야 한다. import sys input = sys.stdin.readline from collections import deque # 동 서 남 북 위 아래 dx = [-1, 0, 1, 0, 0, 0] dy = [0, 1, 0, -1, 0, 0] dz = [0, 0, 0, 0, -1, 1] def bfs(): q = deque([(sz, sx, sy)]) building[sz][sx][sy] = 0 while q: z, x, y = q.popleft() for i in range..