728x90
๐ section06 - 1 - ์ฌ๋ฐ๋ฅธ ๊ดํธ
์ด๋ฒ ์น์
์ stack
๊ณผ queue
์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ๊ณ ๋์ ๋ฐฑ์ค9012 - ๊ดํธ๋ฅผ ํธ๋๊ฒ์ ์ถ์ฒํ๋ค.
ํ์ด ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ์
๋ ฅ ๊ฐ์ ์ค์ง (
, )
๋ง ์๋ค๋ ๊ฒ์ ์๋ฉด ์กฐ๊ธ ๋ ์ฝ๊ฒ ํ ์ ์๋ค.
(
๊ฐ ๋์ค๋ฉดstack
์push
ํ๋ค.)
๊ฐ ๋์์ ๋stack
์ด ๋น์ด์๋ค๋ฉด ์ง์ ์ง์ ๊ดํธ๊ฐ ์๊ธฐ ๋๋ฌธ์false
๋ฅผreturn ํ๋ฉด
๋๊ณ ,stack
์ด ๋น์ด์์ง ์๋ค๋ฉด(
๋ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์stack.pop()
์ ํด์ค๋ค.- ๋ฐ๋ณต๋ฌธ์ด ๋ชจ๋ ์ข
๋ฃ๋ ์ดํ
stack
์ ๋ดค์ ๋ ํ ๊ฐ๋ผ๋ ๋จ์์๋ค๋ฉด ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ๋งค์นญ๋์ง ์์๊ธฐ ๋๋ฌธ์false
ํ๊ฐ๋ผ๋ ์์ผ๋ฉดtrue
๋ฅผ ๋ฆฌํดํด์ค๋ค.
728x90
let s = ")())"
console.log(solution(s));
function solution(s) {
let stack = [];
for (let x of s) {
if (x === "(") stack.push(x);
else {
if (stack.length===0) return "NO";
stack.pop()
}
}
if(stack.length>0) return "NO";
return "YES";
}
๋ฐ์ํ
๋๊ธ