*문제 출처는 백준에 있습니다.
문제 제목: 빵집 / 3109번 (골드 2단계)
문제 사이트: https://www.acmicpc.net/problem/3109
문제 설명

나의 풀이
import sys
sys.setrecursionlimit(10000)
# 대각선을 포함한 이동
move = [(-1, 1), (0, 1), (1, 1)]
def dfs(y, x, pipe, r, c):
pipe[y][x] = 'x' # 방문 표시
if x == c - 1:
return True # 성공 도착
for dy, dx in move:
ny, nx = y + dy, x + dx
if 0 <= ny < r and 0 <= nx < c and pipe[ny][nx] == '.':
if dfs(ny, nx, pipe, r, c):
return True # 성공 경로는 계속 True 리턴
return False # 도달 실패
def main():
r, c = map(int, input().split())
pipe = [list(input()) for _ in range(r)]
answer = 0
for i in range(r):
if dfs(i, 0, pipe, r, c):
answer += 1
print(answer)
if __name__=="__main__":
main()

※ 알아야 할 것

'Coding Test > 백준-Python' 카테고리의 다른 글
| 백준 / 테트로미노 / 14500번 / Python (2) | 2025.05.09 |
|---|---|
| 백준 / 다리 만들기 2 / 17472번 / Python (0) | 2025.05.07 |
| 백준 / 경로 찾기 / 11403번 / Python (0) | 2025.05.05 |
| 백준 / 스타트와 링크 / 14889번 / Python (0) | 2025.05.02 |
| 백준 / 내려가기 / 2096번 / Python (0) | 2025.05.01 |