본문 바로가기
개인 공부/TIL

[ TIL - PGS ] 99클럽 코테 스터디 34일차 TIL + 오늘의 학습 가이드

by 킴도비 2024. 8. 24.

💡 오늘의 학습 키워드

  • 깊이/너비 우선 탐색(DFS/BFS)

 

✅ 오늘 공부한 내용

  • 오늘의 프로그래머스 문제! 타겟 넘버
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

👀 오늘의 회고

🔥 어떤 시도를 했는가?

  • 오늘의 문제 풀이
class Solution {
    public int solution(int[] numbers, int target) {
        return dfs(numbers, target, 0, 0);
    }

    private int dfs(int[] numbers, int target, int index, int sum) {
        // base case: 배열의 마지막 원소까지 탐색했을 때
        if (index == numbers.length) {
            // 현재까지의 합이 target과 같은 경우 1을 리턴
            return sum == target ? 1 : 0;
        }

        // 현재 숫자를 더하는 경우와 빼는 경우를 각각 재귀적으로 탐색
        int add = dfs(numbers, target, index + 1, sum + numbers[index]);
        int subtract = dfs(numbers, target, index + 1, sum - numbers[index]);

        // 두 가지 경우에서 얻은 값을 더하여 반환
        return add + subtract;
    }
}

 

 

👩‍💻 내일은 무엇을 학습할 것인가?

  • 항해 99문제 풀기
  • 책 다 못읽으면 마저 읽고 바로 블로그 정리하기
  • 원티드 팀플 진행하기