[프로그래머스] LEVEL2 괄호 회전하기 JAVA

Pixel Dophin·2023년 7월 12일
0

프로그래머스

목록 보기
19/55

괄호 회전하기

문제링크

풀이

스택을 활용하여 괄호모양을 확인였다.

코드

import java.util.*;

class Solution {
    public int solution(String s) {
        int answer = 0;        
        
        if (s.length() % 2 == 1)
            return answer;
        
        for (int i = 0; i < s.length(); i++) {
            String newS = s.substring(i, s.length()) + s.substring(0, i);
            
            Stack<Character> stack = new Stack<>();
            boolean success = true;
            for (int j = 0; j < s.length(); j++) {
                
                char curChar = newS.charAt(j);

                switch (curChar) {
                    case '[':
                    case '(':
                    case '{':
                        stack.push(curChar);
                        break;
                    case ']':
                        if (stack.isEmpty() || stack.pop() != '[') {
                            success = false;
                        }
                        break;
                    case ')':
                        if (stack.isEmpty() || stack.pop() != '(') {
                           success = false;
                        }
                        break;
                    case '}':
                        if (stack.isEmpty() || stack.pop() != '{') {
                            success = false;
                        }
                        break;
                }
                if (!success)
                    break;
                
            }
            
            if (stack.isEmpty() && success) {
                answer++;
            }
            
        }
        return answer;
    }
}
profile
안녕 👋 성장하고픈 개발자 💻 입니다

0개의 댓글

관련 채용 정보