[Algorithm] 타겟넘버

yongkini ·2021년 10월 4일
0

Algorithm

목록 보기
39/55

프로그래머스 타겟넘버 문제

: DFS 백트랙킹을 이용해서 풀었다. 코드가 약간 지저분한데 한번더 풀 때는 좀 더 간결화한 코드로 풀면 좋을 것 같다!


result = 0
answer = 0
results = ""
arr = set([])
cnt = 0
def solution(numbers, target):
    
    def recursion(idx=0) :
        global result
        global answer 
        global results 
        global arr 
        global cnt 
        
        cnt+=1 
        if len(numbers[idx:]) == 0:
            if result == target and results not in arr:
                arr.add(results)
                answer += 1 
            return 
        else:
            el = numbers[idx]
            
            result += el * -1
            results += str(el * -1)
            recursion(idx+1)
            result -= el * -1
            results = results[:-len(str(el * -1))]
            
            result += el
            results += str(el)
            recursion(idx+1)
            result -= el
            results = results[:-len(str(el))]
    
    recursion()
    return answer

: 프로그래머스 타겟넘버 풀이

profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글