[프로그래머스 | BFS/DFS] 타겟 넘버, Python

·2022년 1월 10일
0

프로그래머스

목록 보기
2/11

BFS

def solution(numbers, target):
    answer = 0
    from collections import deque
    q = deque([0])
    # BFS
    for n in numbers:
        appendlist = []
        while q:
            root = q.popleft()
            appendlist.append(root + n)
            appendlist.append(root - n)
        q.extend(appendlist)
    # 전체 결과 중 target에 해당하는 결과 선택
    answer = q.count(target)
    return answer

deque 하나 만들고, 연산 결과 관리
numbers를 iteration하면서 deque에서 leftpop한 값에 더하고 빼는 경우를 deque에 extend

profile
튼튼

0개의 댓글