[프로그래머스] 타겟 넘버 - Swift

이창형·2023년 3월 1일
0

코드

import Foundation

func solution(_ numbers:[Int], _ target:Int) -> Int {
    var count = 0
    
    func dfs(index: Int, sum: Int) {
        if index == numbers.count {
            if sum == target {
                count += 1
            }
            
            return
        }
        
        dfs(index: index+1, sum: sum + numbers[index])
        dfs(index: index+1, sum: sum - numbers[index])
    }
    
    dfs(index: 0, sum: 0)
    
    return count
}

회고

  • DFS 문제를 처음 풀어보았는데 전혀 생각이 안났다
  • 깊이 우선 탐색을 한 번 정리해야겠다
  • 검색한 코드는 DFS 방식을 이용하고 재귀를 통해 모든 합과 차의 경우의 수를 구하고 target이랑 숫자가 맞을시 count에 1을 더해주며 답을 구하는 코드였다
profile
iOS Developer

0개의 댓글