백준 / 모든 순열 / 10974

박성완·2022년 3월 21일
0

백준

목록 보기
29/78
post-thumbnail

Question

문제링크
Silver 3

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

1, 2, 3
1, 3, 2
2, 1, 3
2, 3, 1
3, 1, 2
3, 2, 1

Input

첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.

3

Output

첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

Logic

기본 구조 : permutations
1. itertools의 permutations를 이용하여, 모든 순열 경우의 수를 오름차순으로 정렬하여 출력한다.

Code

from sys import stdin
from itertools import permutations

N = int(stdin.readline())

data = [i+1 for i in range(N)]
li = list(permutations(data,N))

for i in li:
    for j in i:
        print(j,end=" ")
    print()

0개의 댓글