프로그래머스 Lv. 2 괄호 회전하기 JAVA

YB·2025년 1월 3일

링크텍스트

설명

문자열의 회전은 substring을 사용하였다. 스택 문제는 많이 풀어봤기에 나머지는 평소와 동일하다.

코드

import java.util.*;

class Solution {
    public int solution(String s) {
        int answer = 0;
        
        for(int i=0;i<s.length();i++){
            Stack<Character> stack = new Stack<>();
            String ss = s.substring(i) + s.substring(0,i);
            boolean check = true;
            
            for(int j=0;j<ss.length();j++){
                char c = ss.charAt(j);
                
                if(c=='(' || c=='{' || c=='['){
                    stack.push(c);
                }else if(!stack.isEmpty() && stack.peek()=='(' && c==')'){
                    stack.pop();
                }else if(!stack.isEmpty() && stack.peek()=='{' && c=='}'){
                    stack.pop();
                }else if(!stack.isEmpty() && stack.peek()=='[' && c==']'){
                    stack.pop();
                }else {
                    check = false;
                    break;
                }
            }
            if(check && stack.isEmpty()){
                answer++;
            }
           
        }
        
        
        return answer;
    }
}

다른 사람의 풀이

링크텍스트

profile
안녕하세요

0개의 댓글