반응형
알고리즘 분류
- 백트래킹
SOLUTION
# 백트래킹을 이용한 풀이
import sys
def dfs():
# 주어진 개수만큼 채워지면 출력한다
if len(arr) == M:
print(*arr)
return
for num in range(1,N+1):
if num not in arr:
arr.append(num)
dfs()
arr.pop()
N, M = map(int, sys.stdin.readline().split())
arr = []
dfs()
# permutations 함수를 이용한 풀이
import sys
from itertools import permutations
N, M = map(int, sys.stdin.readline().split())
permu_list = list(permutations([i for i in range(1,N+1)], M))
for i in permu_list:
print(*i)
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[그리디 알고리즘/Python] 13305번: 주유소 - 효과는 굉장했다! (0) | 2022.02.19 |
---|---|
[백트래킹/Python] 14888번: 연산자 끼워넣기 - 효과는 굉장했다! (0) | 2022.02.19 |
[큐/Python] 1021번: 회전하는 큐 - 효과는 굉장했다! (0) | 2022.02.11 |
[큐/Python] 2164번: 카드2 - 효과는 굉장했다! (0) | 2022.02.11 |
[스택/Python] 4949번: 균형잡힌 세상 - 효과는 굉장했다! (0) | 2022.02.11 |