1. 문제
10974번: 모든 순열
N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.
www.acmicpc.net
2. 접근 방법
순열을 만들면 됩니다용
range로 1부터 N까지의 list를 하나 만들어서
순열을 순서대로 만들면
사전순으로 출력됩니당
3. 코드
python
def perm(n):
global answer, visited
if n == N:
print(*answer, sep=" ")
return
for i in range(N):
if not visited[i]:
visited[i] = True
answer.append(lst[i])
perm(n+1)
visited[i] = False
answer.pop()
N = int(input())
lst = list(range(1, N+1))
visited = [False] * N
answer = []
perm(0)
4. 마치며
마치며~!
'Algorithm > Python' 카테고리의 다른 글
[프로그래머스] 튜플 (0) | 2021.05.14 |
---|---|
[백준 6603] 로또 (0) | 2021.05.11 |
[백준 10973] 이전 순열 (0) | 2021.05.09 |
[백준 13913] 숨바꼭질 4 (0) | 2021.05.06 |
[백준 1697] 숨바꼭질 (0) | 2021.05.06 |