1653.js
/** ------------------------------------------------------------------------------
*
* 1653. Minimum Deletions to Make String Balanced
* Topics: DP Stack
* https://leetcode.com/problems/minimum-deletions-to-make-string-balanced/description/?envType=daily-question&envId=2024-07-30
*
------------------------------------------------------------------------------ */
/**
* @param {string} s
* @return {number}
*/
var minimumDeletions = function (s) {
let count = 0
let prefix = 0
for (let st of s) {
if (st === "b") {
prefix++
} else if (st === "a" && prefix > 0) {
prefix--
count++
}
}
return count
}
/** ------------------------------------------------------------------------------
*
* 가장 직관적인 풀이
* 스트링 종류는 a와 b 밖에없으므로 삼항연산자로 충분히 가능하다.
*
------------------------------------------------------------------------------ */
/**
* @param {string} s
* @return {number}
*/
var minimumDeletions = function (s) {
let bCount = 0
let count = 0
for (let i = 0; i < s.length; i++) {
s[i] === "b" ? bCount++ : (count = Math.min(count + 1, bCount))
}
return count
}