카테고리 없음
프로그래머스 올바른 괄호 - 자바스크립트 풀이
PARADISE247
2024. 11. 26. 23:30
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
해당 문제를 스택을 이용하여 풀어보았다.
풀이
우선 스택 변수를 선언한다.
let stack = [];
해당 스택에는 문자열을 돌면서 괄호가 차례대로 쌓이게 된다.
스택에 괄호를 쌓으면서 조건에 따라 판별해보자.
다음 코드를 보자.
for(let i = 0; i < s.length; i++){
if(i > 0 && s[i] === ")" && stack.at(-1) === "(") stack.pop();
else stack.push(s[i]);
}
해당 코드는 문자열 내에 있는 괄호를 순차적으로 돌면서 "(" 이 괄호면 스택에 추가하고 ")" 이 괄호면 스택 마지막에 위치한 괄호가 "(" 일 경우, 마지막에 위치한 "(" 괄호를 스택에서 제거한다.
이 후 문자열 내 괄호를 다 확인한 후 스택에 마지막까지 괄호가 남아있으면 false를 스택이 비어있다면 true를 반환하면 된다.
return stack.length === 0;
전체 코드
function solution(s){
let stack = [];
for(let i = 0; i < s.length; i++){
if(i > 0 && s[i] === ")" && stack.at(-1) === "(") stack.pop();
else stack.push(s[i]);
}
return stack.length === 0;
}
반응형