Menu
CoddyTech

Target Sum

음수가 아닌 정수 배열 nums와 정수 target이 주어집니다. 모든 숫자 앞에 더하기 또는 빼기 기호를 붙이고, 순서를 유지한 채 식을 계산합니다. 식의 값이 target이 되도록 하는 기호 선택의 수를 반환하세요. 2^n가지 선택은 각각 별도로 계산되므로 +0과 -0은 서로 다른 두 가지 선택입니다.

함수

findTargetSumWays(nums: integer-array, target: integer) → integer
numsinteger-array
각각 부호가 붙는 숫자들
targetinteger
식이 같아야 하는 값
반환값integer
식의 값이 target과 같은 부호 선택의 수

제약 조건

  • 1 ≤ nums.length ≤ 20
  • 0 ≤ nums[i] ≤ 1000
  • The sum of nums은 최대 1000입니다.
  • -1000 ≤ target ≤ 1000
  • 정답은 최대 220으로, 32비트 부호 있는 정수의 범위 안에 충분히 들어갑니다.

예제

입력
nums = [2, 1, 1]target = 2
출력
2
설명
+2 +1 -1과 +2 -1 +1은 둘 다 2입니다. 2에 마이너스를 붙이면 도달할 수 있는 최댓값은 -2 + 1 + 1 = 0이므로, 다른 선택지는 없습니다.
challenge icon

후속 질문

합을 인덱스로 하는 배열이 메모리에 들어가지 않는 상황에서, 값이 최대 10^9인 숫자를 최대 40개까지 처리할 수 있나요?

코드 초기화
def findTargetSumWays(nums, target):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

nums = [2, 1, 1]
target = 2

예상 출력

2