알고리즘 공부

[programmers] 타겟 넘버

gyk7 2024. 7. 24. 06:00

- 문제 유형 : dfs/bfs 깊이/너비 우선 탐색

- 생각 흐름

dfs 사용 -> 덧셈만 끝까지 해놓고, 뺄셈을 하나씩 조합하며 모든 경우의 수 생각하기.

bfs 사용 -> 덧셈, 뺄셈 둘 다 하면서 생각하기.

 

일단 bfs로 구현해보았다.

**dfs로 구현해볼것

[코드 구현]

def solution(numbers, target):
    li = [0]
    for num in numbers:
        li2 = []
        for i in li:
            li2.append(i+num)
            li2.append(i-num)
        li = li2
    return li2.count(target)