[알고리즘/프로그래머스] - 타겟 넘버(python)

유현민·2022년 6월 13일
0

알고리즘

목록 보기
208/253

문제

재귀를 이용해서 문제를 풀었다.
재귀를 돌면서 만약 cnt가 길이랑 같으면 멈추고 target이랑 비교를 했다.
return을 해주면 길이가 1 짧아지고 -로 바뀐다.

class A:
    answer = 0

    def __init__(self, numbers, target):
        self.numbers = numbers
        self.target = target

    def rec(self, s, cnt):
        if cnt == len(self.numbers):
            if s == self.target:
                self.answer += 1
                return
            else:
                return
        self.rec(s + self.numbers[cnt], cnt + 1)

        self.rec(s - self.numbers[cnt], cnt + 1)

    def solution(self):
        self.rec(0, 0)

        return self.answer

def solution(numbers, target):
    
    a = A(numbers, target)
    return a.solution()
profile
smilegate megaport infra

0개의 댓글