본문 바로가기
알고리즘 & 자료구조/프로그래머스

올바른 괄호

by 신재권 2022. 12. 28.
package programmers;

import java.util.Stack;

public class 올바른괄호 {

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

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

      }

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

      return true;
   }

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

   }
}

'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글

숫자의 표현  (0) 2022.12.30
이진 변환 반복하기  (0) 2022.12.29
최솟값 만들기  (0) 2022.12.27
JadenCase 문자열 만들기  (0) 2022.12.26
최대값과 최솟값  (0) 2022.12.25