코딩 테스트
[Python3]프로그래머스 레벨 2 - 타겟넘버
귀건
2021. 4. 26. 18:50
728x90
반응형
answer = 0
def dfs(i, target, score,numbers, pl):
global answer
if i >= len(numbers):
if score == target:
answer += 1
return
if pl == 0 :
score += numbers[i]
elif pl == 1 :
score -= numbers[i]
i += 1
dfs(i, target, score, numbers, 0)
dfs(i, target, score, numbers, 1)
def solution(numbers, target):
ans1 = numbers[0]
ans2 = -1*numbers[0]
dfs(1, target, ans1, numbers, 0)
dfs(1, target, ans1, numbers, 1)
dfs(1, target, ans2, numbers, 0)
dfs(1, target, ans2, numbers, 1)
return answer // 2
programmers.co.kr/learn/courses/30/lessons/43165?language=python3
코딩테스트 연습 - 타겟 넘버
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+
programmers.co.kr
dfs -, +를 나누어서 호출해서 마지막 부분에 동일한 검사를 두번 하게 됨. 그래서 reture answer // 2를 해줌.
bb
728x90
반응형