Skip to main content

2270.js

/** ------------------------------------------------------------------------------
*
* 2270. Number of Ways to Split Array
* Topics: Prefix Sum
* https://leetcode.com/problems/number-of-ways-to-split-array/?envType=daily-question&envId=2025-01-03
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} nums
* @return {number}
*/
var waysToSplitArray = function (nums) {
let n = nums.length
let answer = 0

const prefix = new Array(n)
prefix[0] = nums[0]

for (let i = 1; i < n; i++) {
prefix[i] = prefix[i - 1] + nums[i]
}

for (let i = 0; i < n - 1; i++) {
if (prefix[i] >= prefix[n - 1] - prefix[i]) {
answer++
}
}

return answer
}

console.log(waysToSplitArray([10, 4, -8, 7]))

// 변수명 깔끔하넹
var waysToSplitArray = function (nums) {
let ways = 0
const prefix = new Array(nums.length)
prefix[0] = nums[0]
for (let i = 1; i < nums.length; i++) {
prefix[i] = prefix[i - 1] + nums[i]
}

for (let i = 0; i < prefix.length - 1; i++) {
const first = prefix[i] - 0
const second = prefix[prefix.length - 1] - prefix[i]

if (first >= second) ways++
}

return ways
}