Algorithm/BOJ
[백준] 15652번 - Silver 3 N과 M(4), 파이썬 코드
ramin0119
2024. 9. 6. 20:14
728x90
solved.ac의 Class 4 문제 중 N과 M(4) 문제이다.
1부터 비내림차순으로 내려가야 하는 특징 때문에 재귀 DFS 문제라는 것을 알 수 있다.
"같은 수를 여러 번 골라도 된다."라는 문제의 특징이 있으니 조심하자.
해결했던 코드는 다음과 같다.
import sys
global n, m
lst = []
def dfs(num):
# 리스트의 개수가 m과 같아지면 return
if len(lst) == m:
print(" ".join(map(str, lst)))
return
for i in range(num, n+1):
lst.append(i)
dfs(i)
lst.pop()
if __name__ == "__main__":
n, m = map(int, sys.stdin.readline().split())
dfs(1)
728x90