프로그래머스/LEVEL 2

타겟 넘버

GenieLove! 2021. 12. 19. 20:55
728x90
반응형

Java

import java.util.*;
class Solution {
    int resultSum = 0;
    public int solution(int[] numbers, int target) {
        find(numbers, target, 0);
        return resultSum;
    }
    private void find(int[] number, int target, int numberSum){
        if(number.length == 1){
            if(target == numberSum + number[0] || target == numberSum - number[0]){
                resultSum++;
            }
        }
        else{
            find(Arrays.copyOfRange(number, 1, number.length), target, numberSum + number[0]);
            find(Arrays.copyOfRange(number, 1, number.length), target, numberSum - number[0]);
        }
    }
}

Python

numberList = 0
def solution(numbers, target):
    find(numbers, target, 0)
    return numberList

def find(number, target, numberSum):
    if len(number) == 1:
        if target == numberSum + number[0] or target == numberSum - number[0] :
            global numberList
            numberList += 1
    else:
        find(number[1:], target, numberSum - number[0])
        find(number[1:], target, numberSum + number[0])

 

 

 

 

 

728x90
반응형

'프로그래머스 > LEVEL 2' 카테고리의 다른 글

후보키  (0) 2022.02.19
거리두기 확인하기  (0) 2022.02.17
수식 최대화  (0) 2021.06.06
튜플  (0) 2021.06.03
행렬 테두리 회전하기  (0) 2021.05.30