본문 바로가기

파이썬 알고리즘 풀이

71)사다리 타기(DFS)

문제

현수가 특정도착지점으로 도착하기 위해서는 몇 번째 열에서 출발해야 하는지 알아내기

 

조건

사다리 표현은 2차원 평면은 0으로 채워지고, 사다리는 1로 표현합니다.

 

특정 도착지점은 2로 표기됩니다.

제한사항

10*10의 사다리 지도가 주어집니다.

 

출발지 열 번호를 출력하세요.

 

문제풀이

def go(x, y):
  ch[x][y]=1
  if x==0:
    print(y)
  else:
    if y-1>=0 and g[x][y-1]==1 and ch[x][y-1]==0:
      go(x, y-1)
    elif y+1<10 and g[x][y+1]==1 and ch[x][y+1]==0:
      go(x, y+1)
    else:
      go(x-1, y)

g=[list(map(int, input().split())) for _ in range(10)]
ch=[[0]*10 for _ in range(10)]
for i in range(10):
  if g[9][i]==2:
    go(9, i)

'파이썬 알고리즘 풀이' 카테고리의 다른 글

73)토마토(BFS)  (0) 2021.11.15
72)안전영역(DFS)  (0) 2021.11.15
70)섬나라 아일랜드(BFS 활용)  (0) 2021.11.09
69)단지 번호 붙이기(DFS, BFS)  (0) 2021.11.09
68)등산경로(DFS)  (0) 2021.11.09