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)

 

 

 

메모:

수업시간에 배운건데 맨날 까먹어서 코드를 아예 외웠다.