반응형
# N개 알파벳 중에 R개를 나열하는 경우
def permutation (cur, n, r, result):
if cur >= r :
print(result)
return
else:
for i in range(n):
alpha = chr(ord('a') + i)
if not check[cur]:
result[cur] = alpha
check[cur] = True
permutation(cur+1,n,r,result)
#
check[cur] = False
result[cur] = 0
if __name__ == '__main__':
n,r = map(int,input().split())
check = [False]*r
result = [0]*r
permutation(0,n,r,result)
r중 for문 수행하는 것과 동일함
반응형
'프로그래밍 > 알고리즘 문제' 카테고리의 다른 글
[BFS/DFS] 4방향 탐색 (4) | 2021.04.05 |
---|---|
Leet Code 121. Best Time to Buy and Sell Stock (4) | 2021.04.04 |
[DP] Leet code 118. Pascal's Triangle (4) | 2021.04.04 |
[이진트리/DFS] Leet code 104 - Maximum Depth of Binary Tree (2) | 2021.04.03 |
[BFS / 이진트리] LeetCode 101. Symmetric Tree (4) | 2021.03.23 |
댓글