본문 바로가기
Beakjoon&프로그래머스/Java

[프로그래머스/Java] 괄호 회전하기

by 현장 2025. 3. 1.

-Code

import java.util.*;

class Solution {
    public int solution(String s) {
        int answer = 0;
        int len = s.length();
        Deque<String> deq = new ArrayDeque<>();
        for (int i = 0; i < len; i++) {
            for (String ss : s.split("")) {
                if (!deq.isEmpty()) {
                    if (deq.peekLast().equals(validation(ss))) {
                        deq.pollLast();
                        continue;
                    }
                }
                deq.add(ss);
            }
            if (deq.isEmpty()) answer++;
            deq.clear();
            s = s.substring(1) + s.charAt(0);
        }
        return answer;
    }

    public static String validation(String s) {
        if (s.equals(")")) return "(";
        if (s.equals("}")) return "{";
        if (s.equals("]")) return "[";
        return null;
    }
}