BOJ
[백준/BOJ] python 10974번 모든 순열
kyj0015
2024. 1. 20. 21:40
언어: python
번호: 10974
제목: 모든 순열
등급: 실버3
풀이 과정:
재귀함수로 풀었다. 리스트를 만들어 해당 숫자에 방문했는지 안했는지를 확인하고 새로운 순열 arr에 추가하는 방식이다.
코드:
# 10974
# 순열의현재길이, 모든 숫자의 수, 고를 숫자의 수, 새로 만들 순열, 방문했는지 확인하는 리스트
def permutation(k, n, m, arr, ch):
if k==m:
print(*arr)
else:
for i in range(1, n+1):
if not ch[i]:
ch[i] = True
arr[k] = i
permutation(k+1, n, m, arr, ch)
ch[i] = False
N, M = 5, 2
ch = [False]*(N+1)
arr = [0]*M
permutation(0, N, M, arr, ch)
메모:
수업시간에 배운건데 맨날 까먹어서 코드를 아예 외웠다.