문제링크 :https://programmers.co.kr/learn/courses/30/lessons/43165
문제설명
사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하는 solution 함수 작성
알고리즘
1. numbers 에 들어있는 배열을 이용해 + , - 인경우로 나누어 재귀 함수를 돌린다.
2. 타겟넘버와 일치하는 값의 갯수를 센다 .
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 타겟 넘버 def solution(numbers, target): answer = 0 def func(idx,num): if idx == len(numbers): if num == target: nonlocal answer answer+=1 return 0 func(idx+1,num+numbers[idx]) func(idx+1,num-numbers[idx]) func(0,0) return answer | cs |
'파이썬 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 큰 수 만들기 (0) | 2021.01.07 |
---|---|
[python] 프로그래머스 - 네트워크 (0) | 2020.08.05 |
[python] 프로그래머스 - 소수 찾기 (0) | 2020.08.05 |
[python] 프로그래머스 - H-index (0) | 2020.08.05 |
[python ] 프로그래머스 - 가장 큰 수 (0) | 2020.08.05 |