permutation을 쓰면 금방 풀린다. 하지만 배우는 의미가 없음
dfs를 이용했습니다. 하나씩 추가해서 길이가 n이 되면 그걸 출력했습니다.
for문을 사용하여 0부터 n까지 돌렸고 +1한걸 visited에 추가했습니다.
visited의 길이는 n의 길이와 똑같기 때문에 만약 4라면 visited의 길이는 4가 되고
최대 1~4까지만 들어갈 수 있습니다.
def dfs(depth):
global ans
if depth == n:
print(*visited)
else:
for i in range(n):
if i + 1 in visited:
continue
visited[depth] = i + 1
dfs(depth + 1)
visited[depth] = 0
n = int(input())
visited = [0] * n
dfs(0)