본문 바로가기

알고리즘

[programmers] 타겟넘버


로직

 

이렇게 진행된다고 생각하면, 처음에 1일 넣어두고, 1에서 +1, -1한 값을 넣는다.

이후 2, 0에서  +1, -1한 값을 넣는다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

코드

def solution(numbers, target):
    answers = [0]
    for number in numbers:
        temp = []
        for answer in answers:
            temp.append(answer + number)
            temp.append(answer - number)

        answers = temp

    cnt = 0
    for i in answers:
        if i == target:
            cnt += 1

    return cnt

 

주의할 점

 - 원래는 ['+', '-']조합으로 풀려고 했는데, 4개조합만 해도 5040개의 경우의 수가 나온다.

'알고리즘' 카테고리의 다른 글

[programmers] 프렌즈4블록  (0) 2020.09.08
[programmers] 폰켓몬  (0) 2020.09.08
[programmers] 구명보트  (0) 2020.09.08
[programmers] 카펫  (0) 2020.09.08
[programmers] 단속카메라  (0) 2020.09.08