Programmers/Lv2
[프로그래머스/JS] 올바른 괄호 (Lv2)
hellosonic
2023. 8. 4. 00:06
문제요약

나의 코드 및 설명 (효율성 TC2 시간초과)
function solution(s){
var answer = true;
var stack = [];
for (var i = 0; i < s.length; i++){
if (s[i] == "(") {
stack.push("(");
} else {
if (stack[stack.length - 1] == "(") {
stack.pop();
} else {
stack.push(")");
}
}
}
if (stack.length == 0){
answer = true;
} else {
answer = false;
}
return answer;
}
다른 코드 및 설명
function solution(s){
var answer = true;
var stack = [];
s.split("").map(string => {
if (string === ')' && stack[stack.length-1] === '('){
stack.pop();
} else {
stack.push(string);
}
})
if (stack.length == 0) {
answer = true;
} else {
answer = false;
}
return answer;
}
피드백
map() 함수는 새로운 배열을 생성하는 역할뿐만 아니라, 단순히 배열의 요소를 순회하면서 조건에 맞는 정답을 도출할 수 있다는 것을 확인할 수 있었다.