언어: 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)
메모:
수업시간에 배운건데 맨날 까먹어서 코드를 아예 외웠다.
'BOJ' 카테고리의 다른 글
[백준/BOJ] python 10982번 다음 순열 (0) | 2024.01.20 |
---|---|
[백준/BOJ] python 1406번 에디터 (0) | 2023.08.10 |
[백준/BOJ] python 9093번 단어 뒤집기 (0) | 2023.07.30 |
[백준/BOJ] python 10828번 스택 (0) | 2023.07.30 |
[백준/BOJ] python 5800번 성적 통계 (0) | 2023.02.20 |