문제
N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.
출력
첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.
예제 입력 1
3
예제 출력 1
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
풀이
permutations를 사용하여 순열 생성
from itertools import permutations
n = int(input())
n_list = [i for i in range(1, n+1)]
n_list = sorted(list(permutations(n_list, n)))
for i in n_list:
print(*i)
*i를 사용해 모든 요소 출력
반응형
'Algorithm > Online judge' 카테고리의 다른 글
[백준] 9461번 > 파도반 수열 (0) | 2021.02.24 |
---|---|
[백준] 5525번 > IOIOI (0) | 2021.02.24 |
[백준] 1182번 > 부분수열의 합 (0) | 2021.02.24 |
[백준] 11722번 > 가장 긴 감소하는 부분 수열 (0) | 2021.02.22 |
[백준] 11055번 > 가장 큰 증가 부분 수열 (0) | 2021.02.22 |