백준 문제 링크
숫자판 점프
- DFS를 사용했다.
- 좌표를 돌며 숫자를 차례로 붙이는데, 길이가 6이 되면 answer에 넣어줄 것이다.
- 상,하,좌,우 4방향을 돌며 좌표가 범위 안에 들면 dfs함수를 다시 불러온다
- 숫자판을 for문 2개로 돌아서 가능한 모든 숫자 조합을 찾는다.
- 개수를 출력하면 끝!
lst = []
for _ in range(5):
lst.append(list(map(str, input().split())))
from collections import deque
dx = [0,0,1,-1]
dy = [1,-1,0,0]
answer = set()
def dfs(x,y,num = ''):
num += lst[x][y]
if len(num) == 6:
answer.add(num)
return
for d in range(4):
nx = x + dx[d]
ny = y + dy[d]
if (0 <= nx < 5) and (0 <= ny < 5):
dfs(nx,ny,num)
for i in range(5):
for j in range(5):
dfs(i,j)
print(len(answer))