728x90
반응형
https://www.acmicpc.net/problem/10974
10974번: 모든 순열
N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제
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
풀이
설명
- python에 내장된 itertools 패키지의 permutations 모듈을 사용하면 쉽게 풀 수 있다.
[Python] 순열(permutations)과 조합(combinations)
순열(permutations) 서로 다른 n개에서 r개를 선택할 때, 순서를 고려하여 중복 없이 뽑을 경우 nPr = n! / (n -r)! 만일 A, B, C에서 순서를 고려하여 중복 없이 2개의 쌍을 구한다면 AB/AC/BA/BC/CA/CB 총 6가지
techblogs.tistory.com
코드
from itertools import permutations
num = []
N = int(input())
if 1 > N > 8 :
print("입력 범위 초과")
for i in range(1, N+1) :
num.append(i)
per = list(permutations(num, N))
for i in per :
for j in i :
print(j, end = " ")
print()
728x90
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[Algorithm] 백준 1476번 날짜 계산 (Python) (0) | 2023.02.10 |
---|---|
[Algorithm] 백준 11723번 집합 (Python) (0) | 2023.02.09 |
[Algorithm] 백준 2309번 일곱 난쟁이 (Python) (0) | 2023.02.07 |
[Algorithm] 백준 6588번 골드바흐의 추측 (Python) (0) | 2023.02.07 |
[Algorithm] 백준 1929번 소수 구하기 (Python) (0) | 2023.02.06 |