728x90
https://softeer.ai/practice/info.do?idx=1&eid=627&sw_prbl_sbms_sn=156768
💡 문제 풀이
아주 가벼운 그래프 탐색 문제이다 (BFS)
BFS로 풀었고 DFS도 가능하다.
✔️ 느낀 점
많이 그래프 탐색을 풀어봤다면 어렵지 않은 문제이다.
💻 코드
import sys
input = sys.stdin.readline
moves = [(1,0), (0,1), (-1,0), (0,-1)]
h, w = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(h)]
q = int(input())
for _ in range(q):
i, j, c = map(int, input().split())
if board[i-1][j-1] == c:
continue
target = board[i-1][j-1]
q = [[i-1, j-1]]
while q:
x, y = q.pop(0)
if 0 <= x < h and 0 <= y < w and board[x][y] == target:
board[x][y] = c
for i in range(4):
q += [x + moves[i][0], y + moves[i][1]],
for row in board:
print(' '.join(map(str, row)))
'문제 풀이 > 소프티어 (Softeer)' 카테고리의 다른 글
[Python] 소프티어 : 마이크로서버 (0) | 2023.02.21 |
---|---|
[Python] 소프티어 : 거리 합 구하기 (0) | 2023.02.20 |
[Python] 소프티어 : 로드 밸런서 트래픽 예측 (0) | 2023.02.19 |
[Python] 소프티어 : [인증평가(1차) 기출] 로봇이 지나간 경로 (0) | 2023.02.10 |
[Python] 소프티어 : 택배 마스터 광우 (0) | 2023.02.09 |
댓글