[프로그래머스] 올바른 괄호(Java, 자바)

giggle·2023년 7월 14일
0
post-custom-banner

문제

올바른 괄호


📌 아이디어

이 문제는 스택 자료구조를 활용해서 간단하게 해결할 수 있었습니다.

괄호의 짝을 확인하여 문제에 접근하면 됩니다.

  1. 현재 빈 스택이라면 여는 괄호는 push하고, 닫는 괄호라면 더 이상 짝을 맞출 수 없으니 false 처리합니다.

  2. 스택에 값이 있는 상태라면 여는 괄호는 마찬가지로 push합니다.

  3. 닫는 괄호는 스택에 top에 있는 값을 pop합니다. 이때 스택에 있는 괄호는 무조건 여는 괄호이기 때문에 괄호 짝을 맞출 수 있습니다.

  4. 탐색이 종료 후 스택에 값이 존재하면 짝이 맞춰지지 않은 경우이기 때문에 false를 처리하고, 빈 스택이라면 true로 정답처리를 합니다.


📌 코드

import java.util.*;

class Solution {
    boolean solution(String s) {
        boolean answer = true;

        ArrayList<String> stack = new ArrayList<>();
        for (int i=0; i<s.length(); i++) {
            if (stack.size() == 0) {
                if (s.charAt(i) == '(') {
                    stack.add("(");   
                } else {
                    return false;
                }
            } else {
                if (s.charAt(i) == '(') {
                    stack.add("("); 
                } else {
                    stack.remove(stack.size() - 1);
                }
            }
        }
        if (stack.size() > 0) {
            return false;
        } else {
            return true;
        }
    }
}



피드백 및 개선점은 댓글을 통해 알려주세요😊

profile
배움을 글로 기록하는 개발자가 되겠습니다.
post-custom-banner

0개의 댓글