[BOJ]N과 M (2)_15650

반응형

풀이 요약

 중복이 없는 배열이 나와야 하므로 for문 에서 i가 인자보다 클때만 재귀를 들어가게 하였다. 


코드(python)

n, m = map(int, input().split())

arr = []
def dfs(index):

    if len(arr) == m:
        print(' '.join(map(str, arr)))

    for i in range(1, n+1):
        if i >= index:              # 중복을 없에는 재귀 조건
            arr.append(i)
            dfs(i+1)
            arr.pop()
dfs(1)

배운 점, 배울 점

10분도 안걸려서 푼거같다! 기분이가 좋다. 

재귀를 많이 다루어 보면서 일반적인 흐름을 키워야 겠다. 

반응형

'Develop > Algorithm' 카테고리의 다른 글

[알고리즘]BOJ_카드_11652  (0) 2022.12.16
[BOJ]14888_연산자 끼워넣기_C언어  (0) 2022.10.28
[BOJ]N과 M(4)_15672  (0) 2022.10.23
[BOJ]N과 M (1)_15649 (백트래킹)  (1) 2022.10.22
[BOJ]N과 M(3)_15651_분할정복  (0) 2022.10.21