본문 바로가기
온라인 저지/프로그래머스

[PGS/Java] 타겟 넘버

by ahj 2022. 2. 18.
class Solution {
    static int answer, targetNum, numLen, arr[];
    public int solution(int[] numbers, int target) {
        arr = numbers;
        numLen = numbers.length;        
        targetNum = target;
        answer = 0;
        dfs(0, 0);
        return answer;
    }
    
    public void dfs(int cnt, int sum) {
        if (cnt == numLen) {
            if (sum == targetNum) answer++;
            return;
        }
        dfs(cnt+1, sum + arr[cnt]);
        dfs(cnt+1, sum - arr[cnt]);
    }
      
}

처음에 무슨 이진트리 만들어서 dfs해보겠다고 array에다가 막 넣고 난리 치다가 결국 그냥 포기하고 스터디원들의 아이디어에 힌트를 얻어 간단히 짠 코드.

이렇게 간단한 문제를 이상하게 구현하겠다고 용을 쓰고 있었으니.. 에휴

재귀는 어차피 call stack 쌓는 거니까 dfs가 자연스럽게 구현되는 것을.. 정신 차리자

'온라인 저지 > 프로그래머스' 카테고리의 다른 글

[PGS/JavaScript] 이분탐색 - 입국심사  (0) 2022.02.04
[PGS/Python] 가장 큰 수  (0) 2021.11.06

댓글