์ค๋๋ถํฐ ํ๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์์ฃผ๋ก ๋ฐฐ์ธ ์์ ์ด๋ค.๐คฃ ๊ทธ๋์์ ๋ชฐ๋๋
๊ฐ๋ ์ ๋ฆฌ
์์ค์ต ๋ฌธ์
์ ๋ํด์ ์์ฑํ ๊ฒ์ด๋ค. ๋ชจ๋ฒ ๋ต์๊ณผ ๋ด ๋ต์์ ๋น๊ต์ ํจ๊ป..
์ถ์ฒ : ํ๋ก๊ทธ๋๋จธ์ค
์ฌ๋ฐ๋ฅธ ๊ดํธ
๋ด ๋ต์
function solution(s) {
const wrongBrackets = s.split("");
const brackets = [];
let cntOfOpenBracket = 0;
for (let i = 0; i < wrongBrackets.length; i++) {
if (wrongBrackets[i] === "(") {
brackets.push(wrongBrackets[i]);
cntOfOpenBracket++;
} else {
brackets.pop();
cntOfOpenBracket--;
}
if (cntOfOpenBracket < 0) {
return false;
}
}
return brackets.length > 0 || cntOfOpenBracket !== 0 ? false : true;
}
๊ดํธ๊ฐ '('์ด๋ฉด stack์ ์ถ๊ฐ(push)
ํ๊ณ ์๋ ๊ฒฝ์ฐ์๋ stack์์ ์ ๊ฑฐ(pop)
ํด์ค๋ค. wrongBrackets์ ๊ธธ์ด๋ง ํผ ๋ฐ๋ณตํ๊ณ ์ค๊ฐ์ ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋จผ์ return
์ ํ์ฌ ์๊ฐ ์ด๊ณผ๋ฅผ ํด๊ฒฐํ์๋ค.
์๋ฌด๋๋ ํจ์จ์ฑ ๋ถ๋ถ์์ ๊ณ์ ์คํจ์ฒ๋ฆฌ๊ฐ ๋์ด ์ด๊ฒ ์ ๊ฒ ๋ณ์๋ ์ ์ธํ๊ณ ์กฐ๊ฑด๋ฌธ๋ ์ถ๊ฐํ๋ฉด์ ์ฝ๋๊ฐ ๋๋ฌ์์ง ๊ฒ ๊ฐ๋ค. ์ฒ์ ์ฝ๋์์ ๊น์ด ์๊ฐํด๋ณด๋ฉด์ ๊ณ ์ณค์ด์ผ ํ๋๋ฐ..๐ฅฒ
๋ชจ๋ฒ ๋ต์
function solution(s) {
const stack = [];
for (const c of s) {
if (c === "(") {
stack.push(c);
} else {
if (stack.length === 0) {
return false;
}
stack.pop();
}
}
return stack.length === 0;
}
๐ฒ ๋๋ฌด๋ฅผ ๋ณด์ง ๋ง๊ณ โฐ ์ฒ์ ๋ณด๋ฉด์ ์์ฑํ์
๋ชจ๋ฒ ๋ต์๊ณผ ๋ด ๋ต์์ ๋๋ฌด ๊ทน๋ช
ํ ์ฐจ์ด๋ฅผ ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํ๋ค. ์ฐ์ cnt ๋ณ์๋ ์ฌ์ฉํ๊ณ stack๋ ์ฌ์ฉํจ์ผ๋ก์ ๋ถํ์ํ ์ฐ์ฐ์ ๋๋ฌด ๋ง์ด ์ถ๊ฐํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋ฐ๋ก ์ฝ๋ฉ์ ์์ํ์ง ์๊ณ ๋
ผ๋ฆฌ์ ์ผ๋ก ์๊ฐํ ํ์ ์์ฑํ์ด์ผ ํ๋๋ฐ..๐
๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ ๊ทธ ์์ฒด์ ์ง์คํ๊ธฐ ๋ณด๋ค๋ ๋ฌธ์ ์์ ์๊ตฌํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง
, ํจ์จ์ ์ผ๋ก ์์ฑํ๋ ค๋ฉด ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ์ง
, ์ด ๋ฐฉ๋ฒ๋ณด๋ค ๋ ๋์ ๋ฐฉ๋ฒ์ ์์๊น?!
๋ฑ์ ๋ํด ๊น๊ฒ ์๊ฐํด๋ณด๋ฉด์ ์์ฑํด์ผ ๊ฒ ๋ค.
์ค๋์ ์ง์๋ฉํ ๋๊ณผ ์ฒซ ์ปคํผ์ฑ์ ํ ๋ ์ด๋ค. เผผ ใค โ_โ เผฝใค
๊ถ๊ธํ๋ ๊ฒ๋ค ์ง๊ธ ๊ณ ๋ฏผํ๊ณ ์๋ ๋ถ๋ถ๋ค์ ๋ฌผ์ด๋ณด์๊ณ ์ข์ ๋๋ต๋ค์ ํด์ฃผ์
จ๋ค!๐ ๊ณต๋ถ์ ๋ํด ์กฐ๊ธ ์ค๋ง๋ฆฌ๊ฐ ์กํ ๋๋์ด๋ค
์ง์๋์ ๋ํ ๊ฒ ๋ฟ๋ง ์๋๋ผ ํ์๋ค์ ๋ํด์๋ ์กฐ๊ธ ๋ ์๊ฒ๋์๋ค! ์ญ์ ๋ค๋ค ์์ ๋ง์ ๋ชฉํ, ๋๋ ทํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ๋ฐ๋ธ์ฝ์ค๋ฅผ ์ฐธ์ฌํ์๋ค. ๊ทธ๋์์ผ๊น? ๊ฐ์ด ๊ณต๋ถํ ๋๋ฉด ์์์ด 2๋ฐฐ๊ฐ ๋๋ ๋๋์ด ๋ค์๋๊ฒ!!๐ ๋ชจ๋ ๊ฐ์ด ๋ง์ด ์ฑ์ฅํ๊ธฐ๋ฅผ๐๐ป
๋ฐ๋ธ์ฝ์ค... ๋๋ฌด ์ข๋ค... ๐ค