BOJ - 2210

주의·2023년 12월 7일
0

boj

목록 보기
32/214

백준 문제 링크
숫자판 점프

❓접근법

  1. DFS를 사용했다.
  2. 좌표를 돌며 숫자를 차례로 붙이는데, 길이가 6이 되면 answer에 넣어줄 것이다.
  3. 상,하,좌,우 4방향을 돌며 좌표가 범위 안에 들면 dfs함수를 다시 불러온다
  4. 숫자판을 for문 2개로 돌아서 가능한 모든 숫자 조합을 찾는다.
  5. 개수를 출력하면 끝!

👌🏻코드

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))

0개의 댓글