jae_coding

(백준 알고리즘 문제풀이) 15649번 N과 M(1) 본문

알고리즘 문제/백준

(백준 알고리즘 문제풀이) 15649번 N과 M(1)

재코딩 2022. 7. 14. 18:34
반응형

문제

 

문제 링크

 

문제 접근

  • DFS
  • 백트레킹
  • itertool 모듈을 사용하지 않는 조합문제

코드

import sys

N, M = map(int, sys.stdin.readline().split())
lst = list(i for i in range(1, N+1))
result = list()


def DFS():
    global result, lst, N, M
    if len(result) == M:
        print(*result)
        return

    for i in range(0, N):
        if lst[i] not in result:
            result.append(lst[i])
            DFS()
            result.pop()


DFS()

느낀점

itertool을 사용하면 쉽지만 중복되지 않는 조합을 구하는 코드를 구현해보는 것도 쉽지많은 않다.

반응형
Comments