반응형
문제 링크 : https://www.acmicpc.net/problem/15651
풀이
n,m = map(int,input().split())
answer = [0]*m
def backtracking(L,s):
# 길이가 m이라면 출력
if L == m:
for j in answer:
print(j, end= " ")
print()
return
# 1부터 n+1까지 반복문
for i in range(1,n+1):
answer[L] = i
backtracking(L+1,s+1) # 같은 수를 허락하지 않으므로 s+1
backtracking(0,1)
- 조합문제에서 순열로 바뀜(이전 포스팅에 조합 풀이 있음)
- 순서가 의미 있기 때문에 for문의 시작은 1, 재귀함수는 s+1을 적용하여 1,2,3 ~~ 반복이 가능해야함
- 조합의 경우 시작은 s , 재귀함수는 i+1
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스/Lv.2] 튜플_2019 카카오 개발자 겨울 인턴십 (0) | 2023.06.03 |
---|---|
[프로그래머스/Lv.1] 실패율_2019 KAKAO BLIND RECRUITMENT (0) | 2023.06.03 |
[BOJ/백트래킹] N과 M (2) (0) | 2023.05.23 |
[BOJ/완전탐색] 1018 체스판 다시 칠하기 (0) | 2023.05.23 |
[BOJ/그리디] 1931 회의실배정 (0) | 2023.05.15 |