본문 바로가기

컴퓨터/코테

백준 1987 알파벳 - bfs

"""
백준 1987 알파벳
"""
import sys
input = sys.stdin.readline
R, C = map(int, input().split())
arr = [input() for _ in range(R)]
dir = [[0, 1], [0, -1], [1, 0], [-1, 0]]
q = set([(0, 0, arr[0][0])])
answer = 1
while q :
    y, x, v = q.pop()
    for d in dir:
        ny = y + d[0]
        nx = x + d[1]
        if 0 <= nx < C and 0 <= ny < R and arr[ny][nx] not in v:
            q.add((ny, nx, v + arr[ny][nx]))
            if answer < len(v) + 1:
                answer = len(v) + 1
print(answer)

체크하는 조건은 다음에 밟을 블록의 알파벳이 현재 지나온 블록들에 포함되어있는지 확인.

 

카카오 라인 코테 8시간 동안 보고 또 알고리즘 문제 풀고 있는...

'컴퓨터 > 코테' 카테고리의 다른 글

백준 17836 - 공주 구출 [bfs]  (0) 2021.09.16
삼성 기출 9660 번호 붙이기  (0) 2021.09.13
블록이동하기(드론 조종) - bfs  (0) 2021.09.10
카카오 외벽 점검  (0) 2021.09.10
백준 2533 SNS  (0) 2021.09.10