꺼내는 순서 결정
최근 상태로 되돌아가야 하면 stack, 도착 순서대로 처리해야 하면 queue가 맞다.
스택은 마지막에 넣은 값을 먼저 꺼내고, 큐는 먼저 넣은 값을 먼저 꺼낸다. 이 순서 제약이 괄호 검사, BFS, 시뮬레이션의 상태를 만든다.
최근 상태로 되돌아가야 하면 stack, 도착 순서대로 처리해야 하면 queue가 맞다.
pop이나 top/front 전에 empty를 확인하지 않으면 런타임 오류로 이어진다.
stack의 원소가 열린 괄호인지, 방문할 정점인지, 이전 계산 상태인지 이름으로 드러낸다.
for (char c : s) {
if (c == '(') st.push(c);
else if (st.empty()) return false;
else st.pop();
overflow-wrap: break-word;
word-break: keep-all;
}
return st.empty();