728x90
https://school.programmers.co.kr/learn/courses/30/lessons/43165
BFS/DFS 연습용 문제이다
예시가 4,1,2,1이라고 하면,
4 -> 5 or 3 에서
5 -> 6 or 4 와 3 -> 4 or 2 ,,,
와 같은 식으로 갈 수 있다.
from collections import deque
def solution(numbers, target):
answer = 0
q = deque()
q.append([numbers[0],0])
q.append([-1*numbers[0],0])
n = len(numbers)
while q:
number,idx = q.popleft()
idx = idx + 1
if idx < n:
q.append([number + numbers[idx],idx])
q.append([number - numbers[idx],idx])
else:
if number == target:
answer = answer + 1
return answer
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/파이썬] 폰켓몬 (0) | 2023.09.07 |
---|---|
[프로그래머스/파이썬] 피로도 (0) | 2023.09.04 |
[프로그래머스/파이썬] 정수 삼각형 (0) | 2023.05.30 |
[프로그래머스/python] Level 2 : 이모티콘 할인 행사 (0) | 2023.04.28 |
[프로그래머스/python] Level 1 : 크기가 작은 부분 문자열 (0) | 2023.01.12 |