๐ก ๋ฌธ์
๐ฏ ํ์ด ๊ณผ์
๋ณํ (*
)๋ฅผ ํฌํจํ ๋ฌธ์์ด s
์์ ๋ค์ ๊ท์น์ ๋ฐ๋ผ ๋ชจ๋ ๋ณํ๊ฐ ์ ๊ฑฐ๋ ๋ฌธ์์ด์ ๋ฐํํ๋ ๋ฌธ์ ์
๋๋ค.
๋ณํ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ๋ณํ๋ณด๋ค ์์ชฝ์ ์์นํ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฌธ์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
์คํ์ ํ์ฉํ๋ฉด ๊ฐ๋จํ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ฐ, ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ (10^5
)
๋ฌธ์์ด์ ์ํํ๋ฉฐ ์๋ฃ๊ตฌ์กฐ์ ํ๋์ฉ push, pop ํ๊ธฐ ๋ณด๋ค๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.
๊ท์น์ ํ์ฉํด์ ๋ฌธ์์ด์ ๊ฐ์ฅ ๋ค์ชฝ ๋ถํฐ ์ํ๋ฅผ ํด์ค๋๋ค.
์ด๋ *
๋ฅผ ๋ง๋๋ฉด answer
์ ์ถ๊ฐํ์ง ์๊ณ ๋ณํ์ ๊ฐ์๋ฅผ ๊ณ์ ์ธ์ด์ฃผ๋ค๊ฐ ์ผ๋ฐ ์ํ๋ฒณ์ ๋ฐ๊ฒฌํ๋ฉด ์ ์ฅํด๋จ๋ ๋ณํ ๊ฐ์๋ฅผ ํ๋์ฉ ์ค์ด๊ณ , ๋ง์ฝ ์ ์ฅ๋์ด์๋ ๋ณํ ๊ฐ์๊ฐ ์๋ค๋ฉด ๊ทธ ๋ฌธ์๋ฅผ answer
์ ์ถ๊ฐํด์ค๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด O(n)
์ ์๊ฐ๋ณต์ก๋์ O(1)
์ ๊ณต๊ฐ๋ณต์ก๋๋ก ํด๊ฒฐ ๊ฐ๋ฅํฉ๋๋ค.
๐จ๐ป ์ฝ๋
/**
* @param {string} s
* @return {string}
*/
var removeStars = function(s) {
let answer = ''
let asterikCount = 0
for (let i = s.length-1; i >= 0; i -= 1) {
if (s[i] === '*') {
asterikCount += 1
} else {
if (asterikCount > 0) {
asterikCount -= 1
} else {
answer = s[i]+answer
}
}
}
return answer
};
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 42 - Trapping Rain Water (Hard) (0) | 2023.04.30 |
---|---|
LeetCode 238 - Product of Array Except Self (Medium) (2) | 2023.04.24 |
LeetCode 1603 - Design Parking System (Easy) (0) | 2023.04.24 |
LeetCode 15 - 3Sum (Medium) (0) | 2023.04.24 |
LeetCode 13 - Roman to Integer (Easy) (0) | 2023.04.24 |
๐ฌ ๋๊ธ