-
PrefixSum_Leetcode_560. Subarray Sum Equals K [swift]알고리즘/알고리즘 문제풀이 2025. 3. 10. 17:37
https://leetcode.com/problems/subarray-sum-equals-k/description/
누적합 문제의 이론은 대략 이해를 했다. 라고 생각했는데,,
문제를 계속 풀면서 이해를 더하고 체화시키는게 목표
재귀탐색코드
더보기class Solution { func subarraySum(_ nums: [Int], _ k: Int) -> Int { var sol = 0 var map = [Int: Int]() map[0] = 1 func recursive(curIdx: Int, pastSum: Int) { guard curIdx < nums.count else { return } let curSum = pastSum + nums[curIdx] sol += map[curSum - k, default: 0] map[curSum, default: 0] += 1 recursive(curIdx: curIdx + 1, pastSum: curSum) map[curSum]! -= 1 } recursive(curIdx: 0, pastSum: 0) return sol } }
모범코드
더보기class Solution { func subarraySum(_ nums: [Int], _ k: Int) -> Int { var sol = 0 var map = [Int: Int]() map[0] = 1 var sum = 0 for i in 0..<nums.count { sum += nums[i] sol += map[sum - k ,default: 0] map[sum, default: 0] += 1 } return sol } }
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
PrefixSum_Leetcode_523. Continuous Subarray Sum [swift] (0) 2025.03.11 PrefixSum_Leetcode_974 Subarray Sums Divisible by K [swift] (0) 2025.03.11 BinaryTree,PrefixSum_Leetcode_437. Path Sum III [swift] (0) 2025.03.10 문자열?_Programmers_PCCP기출 1번 동영상재생기 [swift] (0) 2025.03.02 math_Programmers_N개의 최소공배수 [swift] (0) 2025.02.26