[백준 1388] 바닥 장식.py

🐥·2022년 1월 31일
0

백준

목록 보기
15/18

문제 이해하기

  • '-'이 같은 행에 연속되어있으면 +1, '|'이 같은 열에 연속되어 있으면 +1

소스코드

import sys
sys.setrecursionlimit(300000)


def dfs(x, y):
    # | 확인
    if graph[x][y] == '|':
        graph[x][y] = '.'
        for i in [1, -1]: 
            X = x + i
            if (0 < X < N) and graph[X][y] == '|':
                dfs(X, y)

    # - 확인
    if graph[x][y] == '-':
        graph[x][y] = '.'
        for i in [1, -1]:
            Y = y + i
            if (0 < Y < M) and graph[x][Y] == '-':
                dfs(x, Y)


N, M = map(int, input().split())
graph = [list(input()) for _ in range(N)]
result = 0
for i in range(N):
    for j in range(M):
        if (graph[i][j] == '|') or (graph[i][j] == '-'):
            dfs(i, j)
            result += 1
print(result)

처음에 자꾸 index error가 났다.
알고보니 [1, -1]범위를 설정 안해서 오류가 났다.
한 번 씨게 당했으니까 다음에는 기억나겠지ㅎㅎ😔

profile
열심히 공부하자!!

0개의 댓글