오늘 알고리즘 문제 풀이에서 자주 등장한 개념은 백트래킹 알고리즘이었다.
일반적으로 백트래킹은 모든 가능한 해를 찾는 완전탐색에서 사용되며 가지치기라는 개념과 함께 사용될 때 효율적이다.
(해가 될 수 없다고 판단되면 이전 단계로 돌아가 다른 해결책을 탐색하기)
주로 재귀적으로 구현되는 경우가 많아서 멘토님이 재귀 함수를 만드는 연습을 추천해주셨다.
def sum_from_one_to_n(n):
# 기저 조건: n이 1 이하일 때, 합은 자기 자신이므로 n을 반환
if n <= 1:
return n
# 재귀 호출: n이 1보다 크면 sum_from_one_to_n 함수를 n-1에 대해 호출하고 현재 n을 더함
else:
return n + sum_from_one_to_n(n - 1)
# 예시로 n이 5인 경우의 합을 출력
n = 5
print("1부터", n, "까지의 합:", sum_from_one_to_n(n))