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.)