Algorithm/BackTracking

[Baekjoon 15651 / Python / 실버3] N과 M (3)

양선규 2024. 8. 7. 16:07
728x90
반응형

문제

 

import sys
input = sys.stdin.readline

# 1 ~ N 까지의 수 / 길이는 M
N, M = map(int, input().split())

def backTracking(depth, num):
   
    if depth == M:
        print(' '.join(num))
        return
   
    for i in range(1, N + 1):
        backTracking(depth + 1, num + str(i))

backTracking(0, '')

 

백트래킹이라고 부르기도 좀 민망하긴 하다. 이전 N과 M 문제를 풀면서 올라왔다면 매우 쉽게 풀 것이다.

 

그냥 1 ~ N 까지의 수, M 길이를 가지는 모든 수열을 출력하면 된다.

visited를 사용할 필요도 없고 딱히 어떤 조건을 검사할 필요도 없다.

만들어진 모든 수열을 출력하면 되기 때문에, 최대 depth에 도착했을 때 바로 출력해 버리면 된다.

728x90
반응형