코딩테스트

[Programmers][Level 2] 타겟 넘버

hoon123 2023. 4. 2. 20:58

- 시작지점 설정

def solution(numbers, target):
    answer = 0
    stack = [[numbers[0],0],[-1*numbers[0],0]] #start
    length = len(numbers)
    while len(stack) > 0:
        tmp, idx = stack.pop()
        idx += 1
        if idx < length:
            stack.append([tmp+numbers[idx],idx])
            stack.append([tmp-numbers[idx],idx])
        else:
            if tmp == target:
                answer += 1
    return answer

BFS를 사용하려면 queue를 이용하고 deque.popleft나 pop(0) 사용해야됨