LeetCode) 20. Valid Parentheses

유병수·2023년 5월 30일
0

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개의 댓글