내가 시도한 방법
DFS
를 활용한 순열 구현used
배열을 사용해서 사용된 값인지 아닌지 판단 후 새로운 요소로 추가def nPn(n, lst):
# 종료조건
if n >= N:
print(*lst)
return
# 유도조건
for i in range(N):
if not used[i]:
used[i] = 1
nPn(n+1, lst+[number[i]])
used[i] = 0
return
N = int(input())
used = [0] * N
number = list(range(1, N+1))
nPn(0, [])