DFS/BFS 문제
📌 프로그래머스
👉타겟 넘버
https://programmers.co.kr/learn/courses/30/lessons/43165?language=python3
DFS
풀이
def solution(numbers, target):
if not numbers and target == 0 :
return 1
elif not numbers:
return 0
else:
return solution(numbers[1:], target-numbers[0]) + solution(numbers[1:], target+numbers[0])
다른사람의 풀이입니다
BFS
풀이
import collections
def solution(numbers, target):
answer = 0
stack = collections.deque([(0, 0)])
while stack:
print(stack)
current_sum, num_idx = stack.popleft()
print(current_sum , num_idx)
if num_idx == len(numbers):
if current_sum == target:
answer += 1
else:
number = numbers[num_idx]
stack.append((current_sum+number, num_idx + 1))
stack.append((current_sum-number, num_idx + 1))
return answer
print(solution([1,1,1,1,1,] , 3))
Author And Source
이 문제에 관하여(DFS/BFS 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ash3767/DFSBFS-문제저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)