백준/문제풀이_python

10974 모든 순열 _python

휴대용치즈 2022. 10. 18. 17:25

https://www.acmicpc.net/problem/10974

 

10974번: 모든 순열

N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

 

문제 접근

dfs를 활용하면 바로 풀린다.

 

 

 

코드

import sys
input = sys.stdin.readline

N = int(input())
ans = []

def dfs():
    if len(ans) == N:
        print(*ans)
        return
    for i in range(1,N+1):
        if i not in ans:
            ans.append(i)   
            dfs()
            ans.pop()

dfs()