카테고리 없음

프로그래머스 레벨2 스택/ - 올바른 괄호

JUNGKEUNG 2024. 7. 11. 23:04
반응형

 

 

 

풀이 과정

이번 문제는 괄호가 올바르게 짝지어졌는지 확인하는 문제다. 스택과 큐중 어떤걸 사용해야할까? 고민하다가 스택으로 풀면 좋을거 같아 스택으로 문제를 풀어 보았다. 먼저 여는 괄호 ' ( ' 를 만나면 스택에 push 하고 닫는 괄호 ' ) '를 만나면 스택에서 pop하여 짝을 맞춰준다. 모든 과정이 끝났을 때 스택이 비어 있어야 올바른 괄호가 완성 되고, 닫는 괄호가 나오기 전에 스택이 비어 있으면 올바르지 않은 괄호이다.

 

import java.util.*;

class Solution {
    boolean solution(String s) {
        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '(') {
                stack.push(c);
            } else {
                if (stack.isEmpty()) {
                    return false;
                }
                stack.pop();
            }
        }

        return stack.isEmpty();
    }
}