<aside> 👉🏿 문제 링크
</aside>
<aside> 👉🏿 t : 테스트 케이스 개수가 주어진다.
다음 줄에 테스트 케이스 개수 만큼 문자열이 주어진다.
각 테스트 케이스에 대해 "케이스 # x:" 형식의 한 줄을 출력합니다.
여기서 x는 케이스 번호(1로 시작)이고 그 뒤에 문자열 순열 집합을 출력합니다.
</aside>
입력값 예시
3
abc
zxyw
p7*
출력값 예시
Case # 1:
abc
acb
bac
bca
cab
cba
Case # 2:
zxyw
zxwy
zyxw
zywx
zwxy
zwyx
xzyw
xzwy
xyzw
xywz
xwzy
xwyz
yzxw
yzwx
yxzw
yxwz
ywzx
ywxz
wzxy
wzyx
wxzy
wxyz
wyzx
wyxz
Case # 3:
p7*
p*7
7p*
7*p
*p7
*7p
<aside> 👉🏿 먼저 시도했던 방법은 dfs 재귀 방식으로 탐색하는 알고리즘을 작성하여 제출해봤으나,
예제는 문제 없이 출력되는데 백준 테스트에서 통과가 안됐다.
따라서 파이썬에서 지원하는 itertools.permutations() 메소드를 사용했다.
</aside>
<aside> 👉🏿 먼저 입력값들을 받아준다.
</aside>
def input():
return sys.stdin.readline().strip()
n = int(input())
for i in range(n):
q = input()
<aside> 👉🏿 itertools 사용하여 순열을 저장해준다.
</aside>
permutation = itertools.permutations(q)