from sys import stdin
def find(x,y,s):
s += str(num_board[x][y])
case = [[-1,0],[1,0],[0,-1],[0,1]]
# 문자열 길이가 6이면 즉시 리턴
if len(s) == 6:
res_list.append(s)
return
for c in range(4):
newx, newy = x+case[c][0], y+case[c][1]
# 범위확인
if 0 <= newx < 5 and 0 <= newy < 5:
find(newx,newy,s)
res_list = []
num_board = []
for _ in range(5):
b = list(map(int,stdin.readline().split()))
num_board.append(b)
for row in range(5):
for col in range(5):
s = ''
find(row,col,s)
# 중복 제거
res_list = set(res_list)
print(len(res_list))
내가 접근한 방법!!
문자열 길이가 6이 될 때 까지 그래프를 탐색하면서 문자열을 만들고,
길이가 6이 되면 중복을 제거하고(set()사용) 결과값에 넣어주고 최종 결과값의 길이를 출력해준다!
set()
을 사용해 리스트에 있는 요소들의 중복을 제거해주었다.💡 list 에서는 원소를 추가할 때
append()
를 쓰지만 set 에서는add()
를 사용한다고 한다 !!