LeetCode) 20. Valid Parentheses

유병수·2023년 5월 30일

20. Valid Parentheses

올바른 괄호 찾는 문제.
백준과 프로그래머스에서도 많이 풀었던 문제다.

스택을 사용해서 풀면 쉽게 해결된다. 2개이상 연속된 문자열 터트리기와 같은 유형의 문제

class Solution {
    public boolean isValid(String s) {

        char[] charArray = s.toCharArray();

        Deque<Character> dq = new ArrayDeque<>();

        for(int i=0; i<charArray.length; i++){
            Character peek = dq.peekFirst();

            if(peek == null){
                dq.addFirst(charArray[i]);
                continue;
            }

            if(charArray[i] == ')' && peek == '('){
                dq.pollFirst();
            }else if(charArray[i] == ']' && peek == '['){
                dq.pollFirst();
            }else if(charArray[i] == '}' && peek == '{'){
                dq.pollFirst();
            }else{
                dq.addFirst(charArray[i]);
            }
        }

        if(dq.size() > 0){
            return false;
        }
        return true;
    }
}

0개의 댓글