알고리즘/Python

[python] 백준 15651 - N과 M (3)

제주도랏맨 2022. 3. 28. 18:49

출처 : 백준, https://www.acmicpc.net/problem/15651

 

15651번: N과 M (3)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

 

더보기

 

풀이

 

stack = []

def DFS(N, M):
  if len(stack) == M:
    for num in stack:
      print(num, end=' ')
    print()

    return

  for index in range(1, N+1):
    stack.append(index)
    DFS(N, M)
    stack.pop()
    
if __name__ == '__main__':
  N, M = map(int, input().split())

  DFS(N, M)

 

N과 M (2) 풀이에서 for문의 범위를 start부터가 아니라 1부터로 바꿔주었다.

 


 

시간 복잡도

 

-

 

다른 사람의 풀이를 보면서 알게 된 점

 

-

 

고찰

 

-