๐ง codingtest/javascript 100์
๋ฌธ์ 53. ๊ดํธ ๋ฌธ์์ด
awesomeyelim
2022. 3. 28. 07:33
728x90
๊ดํธ๋ฌธ์์ด ->'{','}','[',']','(',')'
- (()) -> ๋ฐ๋ฅธ ๋ฌธ์์ด, (() -> ๋ฐ๋ฅด์ง ์์ ๋ฌธ์์ด
- ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๊ดํธ ๋ฌธ์์ด์ด ๋ฐ๋ฅธ ๋ฌธ์์ด์ธ์ง ๋ฐ๋ฅด์ง ์์ ๋ฌธ์์ด์ธ์ง "YES" ์ "NO"๋ก ๊ตฌ๋ถ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํด๋ณด์.
๋ฏธ๋ฆฌ ์๊ฐํด ๋ด์ผํ ๊ฒ
- 6๊ฐ์ง ์ผ์ด์ค๋ฅผ ์ดํด๋ด
- (())
- (((()()())))
- ()()()
- )))((( -> ์์๊ฐ ๋ง์์ผํจ/ ()->(o) )(->(x)
- ())
- ())(
- '{','}','[',']','(',')' ์ฌ๋ฌ ๊ดํธ ๋ฌธ์์ด๋ค์ counting ํด์ฃผ๊ธฐ์ํด
ํจ์๋ด let count = 0 ์ ์ธ
function mathBrackets(arr) {
let count = 0;
- for ๋ฌธ๋ด if ๋ฌธ์ ์ ์ธํ๋ค
function mathBrackets(arr) {
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === "(" || arr[i] === "[" || arr[i] === "{") {
count++;
}
if (arr[i] === ")" || arr[i] === "]" || arr[i] === "}") {
count--;
}
}
if (count !== 0) {
return false;
}
let bracket = [];
for (let i in arr) {
if (arr[i] === "(") {
bracket.push("(");
}
if (arr[i] === ")") {
if (bracket.length === 0) {
//')' ๋ถํฐ ์์ํ ์ ์๊ธฐ ๋๋ฌธ์ return false๋ฅผ ๋ฐํ
return false;
}
bracket.pop();
}
if (arr[i] === "[") {
bracket.push("[");
}
if (arr[i] === "]") {
if (bracket.length === 0) {
return false;
}
bracket.pop();
}
if (arr[i] === "{") {
bracket.push("{");
}
if (arr[i] === "}") {
if (bracket.length === 0) {
return false;
}
bracket.pop();
}
return true;
}
}
// const num = prompt().split("")
const num = "(())}{}".split("");
if (mathBrackets(num) == true) {
console.log("YES");
} else {
console.log("NO");
}