
문자열의 회전은 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;
}
}
