[HackerRank] JAVA - Balanced Brackets

OOSEDUS·2025년 3월 11일
0

해커랭크

목록 보기
12/13
post-thumbnail
class Result {

    public static String isBalanced(String s) {
        Stack<Character> stack = new Stack<>();

        for (char ch : s.toCharArray()) {
            if (ch == '{' || ch == '[' || ch == '(') {
                stack.push(ch); // 여는 괄호는 스택에 추가
            } else {
                // 닫는 괄호가 나왔는데 스택이 비어 있으면 균형 깨짐
                if (stack.isEmpty()) return "NO";

                char top = stack.pop();
                if ((ch == '}' && top != '{') ||
                    (ch == ']' && top != '[') ||
                    (ch == ')' && top != '(')) {
                    return "NO"; // 올바른 짝이 아니라면 "NO" 반환
                }
            }
        }

        return stack.isEmpty() ? "YES" : "NO"; // 모든 괄호가 짝을 이루면 "YES"
    }
}

알아야할 개념

  • stack 선언 방법 : Stack<> stk = new Stack<>();
  • stack 주요 함수 : .push() / .pop() / .peek()
profile
성장 가능성 만땅 개발블로그

0개의 댓글