본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]15649번 N과 M (1)

by 현장 2021. 8. 19.

-코드

def sol(c, l):
    if len(arr) == l:
        print(*arr)
        return
    for i in range(1, c + 1):
        if i not in arr:
            arr.append(i)
            sol(c, l)
            arr.pop()


m, n = map(int, input().split())
arr = []
sol(m, n)

for문으로 풀려고 했으나 n의 값에 따라 숫자의 개수가 달라져서 알고리즘 분류를 보니 백트래킹이라고 해서 아래 링크와 질문게시판을 찾아보고 조금 이해를 한후 기본 코드를 가지고 해결하였으나 백트래킹도 따로 공부를 많이 해야함을 느꼈습니다..

 

-참고 링크

https://moz1e.tistory.com/15

https://blog.encrypted.gg/732