문제
괄호가 정상적으로 짝지어졌으면 true, 그렇지 않으면 false를 반환하는 함수
강사제시 답(효율성)
function solution(s) {
var stack = [];
for (const c of s) {
if (c === "(") {
count += 1;
} else {
if (count === 0) {
return false;
}
count -= 1;
}
}
return stack.length === 0;
}
내 답(강사 피드백)
function solution(s) {
if (s[s.length - 1] === "(") return false;
if (s.length % 2 !== 0) return false;
let left = 0;
let right = 0;
for (const v of s) { // 문자열 바로 루프돌리기
v === "(" ? left++ : right++;
if (left < right) return false;
};
return left === right;
}
내 답
function solution(s) {
var answer = true;
var stack = [...s];
if (stack[stack.length - 1] === "(") return (answer = false);
if (stack.length % 2 !== 0) return (answer = false);
else if (answer !== false) {
var left = 0;
var right = 0;
arr.forEach((v) => {
v === "(" ? left++ : right++;
if (left < right) return (answer = false);
});
}
return answer;
}