프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
from collections import deque
def solution(numbers, target):
answer = 0
q = deque()
q.append((0, 0))
# 시작값(0)과 계산해야할 자리값을 q에 넣어줍니다.
while q:
l, num = q.popleft()
if l == len(numbers):
if num == target:
answer += 1
# l이 numbers의 길이와 같아지면 값이 target과 같은지 확인하고
# answer에 값을 갱신해줍니다.
elif l < len(numbers):
q.append((l + 1, num + numbers[l]))
q.append((l + 1, num - numbers[l]))
# l이 numbers의 길이보다 짧다면 더하고 빼는 값과 l + 1을 튜플로 q에
# 넣어줍니다.
return answer
'알고리즘(algorithm) > 프로그래머스' 카테고리의 다른 글
프로그래머스) 정수 삼각형 python (0) | 2023.02.24 |
---|---|
프로그래머스) 가장 가까운 같은 글자 python (0) | 2023.02.23 |
프로그래머스) 카드 뭉치 python (0) | 2023.02.22 |
프로그래머스) 영어 끝말잇기 python (0) | 2023.02.13 |
프로그래머스) 키패드 누르기 python (0) | 2023.01.31 |