Computer Science/알고리즘

프로그래머스 코딩테스트 연습 | 올바른 괄호 Java 문제 풀이

토마토. 2023. 4. 17. 20:12

코딩테스트 연습 - 올바른 괄호 | 프로그래머스 스쿨 (programmers.co.kr)

import java.util.*;

class Solution {
    public static void main(String[] args) {
        System.out.println(solution("()()"));
        System.out.println(solution("(())()"));
        System.out.println(solution(")()("));
        System.out.println(solution("(()("));

    }
    public static boolean solution(String s) {
        char[] array = s.toCharArray();
        boolean answer = true;
        Stack<String> stack = new Stack<>();

        for (char p : array){
            if (p=='('){
                stack.push("(");
            } else {
                if (stack.isEmpty()){
                    answer = false;
                    break;
                } else {
                    String q = stack.pop();
                    if (q.equals(")")){
                        answer = false;
                        break;
                    }
                }
            }
        }
        if (!stack.isEmpty()){
            answer = false;
        }
        return answer;
    }
}