새소식

인기 검색어

프로그래머스/Lv.2

[Swift] 타겟넘버

  • -
func solution(_ numbers:[Int], _ target:Int) -> Int { var count = 0 func DFS(index: Int, sum: Int) { if index == (numbers.count - 1) && sum == target { // 마지막 인덱스까지 모두 계산한 값이 target과 같다면 count += 1 // count를 +1해주고 return // 더 이상 계산할 값이 없으므로(자식노드가 없으므로) return 해준다 } guard index + 1 < numbers.count else { return } DFS(index: index+1, sum: sum + numbers[index + 1]) // +자식 노드 실행 DFS(index: index+1, sum: sum - numbers[index + 1]) // -자식 노드 실행 } DFS(index: -1, sum: 0) return count }
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.