[Algorithm] 백준 15649- N과 M(1) in Python(파이썬)

하이초·2022년 9월 6일
0

Algorithm

목록 보기
56/94
post-thumbnail

💡 백준 15649:

1~N으로 시작하는 중복되지 않는 길이 M 수열 출력

🌱 코드 in Python

알고리즘: Backtracking

import sys

input = sys.stdin.readline
n, m = map(int, input().split())
ret = []

def dfs():
	if len(ret) == m:
		print(*ret)
		return

	for i in range(1, n + 1):
		if i not in ret:
			ret.append(i)
			dfs()
			ret.pop()

dfs()

백트래킹과 dfs가 무엇이 다른 지 몰랐는데,
이번에 백트래킹 문제를 풀면서 dfs안에 백트래킹이 포함되어있다고 생각하게 되었다
지금까지 내가 푼 많은 dfs 문제들이 거진 다 백트래킹 문제였구나 하는 것?
아닐 수도 있음


🧠 기억하자

하.. 코로나 + 프로젝트 준비로 알고리즘을 그동안 못풀었다..
거의 한 2주만에 보니까 이렇게 간단한 문제도
어떻게 푸는지 전혀 모르겠던....

난 정말 재귀가 싫어 흑흑 ㅠㅠ!

백준 15649 바로가기

profile
개발국대가 되는 그 날까지. 지금은 개발 응애.

0개의 댓글