백트래킹을 연습하기 위해 내장 함수를 사용하지 않고 직접 함수를 구현해서 문제를 풀었다
N과 M(3)는 중복순열을 구하는 문제이다.
순열을 구하는 것과 크게 차이는 없고 중복된 값을 따로 체크하지 않기 때문에 따로 체크할 부분은 없다.
소스코드
n, m = map(int, input().split())
result = []
def dfs(count):
if count == m:
print(*result)
return
for i in range(1,n+1):
result.append(i)
dfs(count+1)
result.pop()
dfs(0)
'Problem Solving > 백준' 카테고리의 다른 글
[BOJ 백준] 15654번 : N과 M(5) - Python (0) | 2021.01.03 |
---|---|
[BOJ 백준] 15652번 : N과 M(4) - Python (0) | 2021.01.03 |
[BOJ 백준] 2467번 - 용액 (0) | 2020.10.21 |
[BOJ, 삼성 SW 역량 테스트 기출 문제] 19238번 : 스타트 택시 (0) | 2020.10.09 |
[BOJ, 삼성 SW 역량 테스트 기출 문제] 16236번 : 아기상어 (0) | 2020.10.09 |