import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
int len = s.length();
for(int i=0; i<len; i++) {
Stack<Character> stack = new Stack<>();
for(int j=0; j<len; j++) {
char c = s.charAt(j);
if(c=='[' || c=='(' || c=='{') { stack.push(c); }
else {
if(stack.isEmpty()) {
stack.push(c);
break;
} else {
if((stack.peek()=='['&&c==']') || (stack.peek()=='('&&c==')') || (stack.peek()=='{'&&c=='}')) {
stack.pop();
}
}
}
}
if(stack.isEmpty()) { answer++; }
s = s.substring(1, len)+String.valueOf(s.charAt(0));
}
return answer;
}
}
'Problem Solving > Programmers' 카테고리의 다른 글
[Level 2] 다리를 지나는 트럭 (0) | 2022.04.06 |
---|---|
[Level 2] 위장 (0) | 2022.04.06 |
[Level 2] 예상 대진표 (0) | 2022.04.06 |
[Level 2] 조이스틱 (0) | 2022.03.31 |
[Level 2] 소수 찾기 (0) | 2022.03.31 |