15649번

    백준 15649: N과M(1)

    백준 15649: N과M(1)

    ◎백트래킹 문제 ◎재귀를 이용하여 문제 풀음 def dfs(cnt): #cnt가 M이 되면 arr출력하는 함수 만들기 #조건 생성 : cnt가 M과 같아질 때 arr출력 if cnt == M: for i in range(len(arr)): print(arr[i], end=' ') return #visit 추적 for i in range(N): #visit이 True일 경우에는 건너뛰고 계속 진행한다 if visit[i]: continue #방문한 곳은 True로 변경 visit[i] = True #i번째 idx arr에 append해줌 arr.append(lst[i]) #재귀(stack형식으로 쌓인다는 점 기억) #큰 깨달음 : 함수 자체가 stack에 쌓임 dfs(cnt+1) arr.pop() prin..