import sys
sys.stdin = open('숫자판 점프.txt')
# 이동 함수
def move(i,j,cnt,word):
if cnt == 6:
if word not in res:
res.append(word)
return
for e in range(4):
N_i = i+x[e]
N_j = j+y[e]
# 범위 확인
if 0 <= N_i < 5 and 0 <= N_j < 5:
move(N_i,N_j,cnt+1,word+str(board[N_i][N_j]))
return
# 이동 상 하 좌 우
x = [-1,1,0,0]
y = [0,0,-1,1]
# 숫자판
board = [list(map(int,input().split())) for _ in range(5)]
# 저장 공간
res = []
for q in range(5):
for w in range(5):
move(q,w,1,str(board[q][w]))
print(len(res))
그 외
문제 풀이를 위한 아이디어
1. 판의 크기가 5x5였기 때문에 그냥 이동 가능한 모든 방향을 탐색함
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 양 - PYTHON #3184 (0) | 2021.02.01 |
---|---|
[BOJ/백준 코딩] 보물 - PYTHON #1026 (0) | 2021.01.31 |
[BOJ/백준 코딩] 마법사 상어와 토네이도 - PYTHON #20057 (0) | 2021.01.30 |
[BOJ/백준 코딩] 연길이의 이상형 - PYTHON #20540 (0) | 2021.01.17 |
[BOJ/백준 코딩] 문홍안 - PYTHON #14649 (0) | 2021.01.10 |