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()