Written by
최태열
on
on
[Python][프로그래머스][Level2] 타겟 넘버
[Python][프로그래머스][Level2] 타겟 넘버
코드
from itertools import product
def solution(numbers, target):
answer = 0
for pro in product([1,-1],repeat=len(numbers)):
if sum([pro[i]*numbers[i] for i in range(len(numbers))])==target:
answer+=1
return answer
numbers의 길이는 20이하 이기 때문에 2**20 정도의 경우면 충분히 완전탐색으로 풀이가 가능하다.
모든 숫자들이 + 거나 - 이기 때문에 그냥 중복이 가능한 순열을 통해 +1을 곱하거나 -1을 곱하면 된다.
그 합이 target과 같은 경우를 더해주면 된다.
Discussion and feedback