Algorithm
- ๊ท ํ์กํ ์ธ์ -
๋ฌธ์
์ธ๊ณ๋ ๊ท ํ์ด ์ ์กํ์์ด์ผ ํ๋ค. ์๊ณผ ์, ๋น๊ณผ ์ด๋ ๊ทธ๋ฆฌ๊ณ ์ผ์ชฝ ๊ดํธ์ ์ค๋ฅธ์ชฝ ๊ดํธ์ฒ๋ผ ๋ง์ด๋ค.
์ ๋ฏผ์ด์ ์๋ฌด๋ ์ด๋ค ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ดํธ๋ค์ ๊ท ํ์ด ์ ๋ง์ถฐ์ ธ ์๋์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์ง๋ ๊ฒ์ด๋ค.
๋ฌธ์์ด์ ํฌํจ๋๋ ๊ดํธ๋ ์๊ดํธ("()") ์ ๋๊ดํธ("[]")๋ก 2์ข ๋ฅ์ด๊ณ , ๋ฌธ์์ด์ด ๊ท ํ์ ์ด๋ฃจ๋ ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค.
- ๋ชจ๋ ์ผ์ชฝ ์๊ดํธ("(")๋ ์ค๋ฅธ์ชฝ ์๊ดํธ(")")์๋ง ์ง์ ์ด๋ค์ผ ํ๋ค.
- ๋ชจ๋ ์ผ์ชฝ ๋๊ดํธ("[")๋ ์ค๋ฅธ์ชฝ ๋๊ดํธ("]")์๋ง ์ง์ ์ด๋ค์ผ ํ๋ค.
- ๋ชจ๋ ์ค๋ฅธ์ชฝ ๊ดํธ๋ค์ ์์ ๊ณผ ์ง์ ์ด๋ฃฐ ์ ์๋ ์ผ์ชฝ ๊ดํธ๊ฐ ์กด์ฌํ๋ค.
- ๋ชจ๋ ๊ดํธ๋ค์ ์ง์ 1:1 ๋งค์นญ๋ง ๊ฐ๋ฅํ๋ค. ์ฆ, ๊ดํธ ํ๋๊ฐ ๋ ์ด์์ ๊ดํธ์ ์ง์ง์ด์ง์ง ์๋๋ค.
- ์ง์ ์ด๋ฃจ๋ ๋ ๊ดํธ๊ฐ ์์ ๋, ๊ทธ ์ฌ์ด์ ์๋ ๋ฌธ์์ด๋ ๊ท ํ์ด ์กํ์ผ ํ๋ค.
์ ๋ฏผ์ด๋ฅผ ๋์ ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋ ๊ท ํ์กํ ๋ฌธ์์ด์ธ์ง ์๋์ง๋ฅผ ํ๋จํด๋ณด์.
์ ์ถ๋ ฅ ์์
๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
input.pop();
let find = ["(", "[", "]", ")"];
let specialChar = input.map((el) =>
el.split("").filter((el) => find.includes(el))
);
for (let i = 0; i < specialChar.length; i++) {
let box = [];
let torf = true;
for (let j = 0; j < specialChar[i].length; j++) {
if (["(", "["].includes(specialChar[i][j])) box.push(specialChar[i][j]);
else if (specialChar[i][j] === ")") {
if (box[box.length - 1] === "(") box.pop();
else {
torf = false;
break;
}
} else {
if (box[box.length - 1] === "[") box.pop();
else {
torf = false;
break;
}
}
}
if (box.length !== 0) console.log("no");
else if (torf) console.log("yes");
else console.log("no");
}
๋ฐ์ํ
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 5032๋ฒ : ํ์ฐ ์๋ฃ (0) | 2021.10.31 |
---|---|
[๋ฐฑ์ค][Node.js] 4999๋ฒ : ์! (0) | 2021.10.29 |
[๋ฐฑ์ค][Node.js] 4673๋ฒ : ์ ํ ๋๋ฒ (0) | 2021.10.27 |
[๋ฐฑ์ค][Node.js] 4504๋ฒ : ๋ฐฐ์ ์ฐพ๊ธฐ (0) | 2021.10.26 |
[๋ฐฑ์ค][Node.js] 4458๋ฒ : ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก (0) | 2021.10.25 |
๋๊ธ