Programming/Algorithm & Data Structure
[Swift] 프로그래머스 타겟넘버
guswlsdk
2025. 3. 18. 10:15
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
주어진 배열에 있는 숫자들로 더하거나 빼서 targetNumber를 만들기
- 주어진 배열에 있는 숫자들을 더하거나 뺀 값으로 재귀호출을 반복(DFS)
- 재귀호출이 끝났을 경우 targetNumber와 같을 경우 count + 1
- 모든 DFS 종료 시 count 출력
import Foundation
func solution(_ numbers:[Int], _ target:Int) -> Int {
func dfs(dept: Int, result: Int){
if numbers.count-1 < dept{
if result == target{
count += 1
}
return
}
dfs(dept: dept+1, result: result - numbers[dept])
dfs(dept: dept+1, result: result + numbers[dept])
}
var count = 0
dfs(dept: 0, result: 0)
return count
}
반응형