BOJ/백준-10974-python

cosmos·2021년 7월 20일
0
post-thumbnail
post-custom-banner

문제📖

풀이🙏

  • N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
  • 첫째 줄에 N이 주어진다.
  • 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.

코드💻

# boj, 10974 : 모든 순열, python3
# 브루트포스 알고리즘
import sys

def dfs(depth):
    global answer

    if depth == n:
        answer.append([num for num in check])
    else:
        for i in range(n):
            if i + 1 in check:
                continue
            check[depth] = i + 1
            dfs(depth + 1)
            check[depth] = 0

if __name__ == '__main__':
    answer = []
    n = int(sys.stdin.readline())
    check = [0] * n
    dfs(0)

    for case in answer:
        print(*case)

결과😎

출처 && 깃허브📝

boj
github

post-custom-banner

0개의 댓글