스택은 "쌓다" 라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다. 데이터가 순서대로 쌓이며 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가진다.
괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다.
(())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.
첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다.
첫 번째 줄에 YES, NO를 출력한다.
function solution(s) {
let answer = [];
s.split('').forEach((v) => {
if (v === '(') {
answer.push('(');
} else {
answer.pop();
}
})
return answer.length ? 'No' : 'Yes';
}
console.log(solution('(()(()))'));
( 일 때, 배열 안에 push ) 일 때, 배열 안의 값을 pop 한다.