programmers_괄호 회전하기_java
2023. 4. 4. 17:11ㆍAlgorithm/Programmers
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/76502
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
int sLength = s.length();
for(int i = 0; i< sLength; i++){
Stack<Character> stack = new Stack<>();
int idx = i;
boolean flag = true;
for (int j = 0 ; j< sLength; j++){
switch(s.charAt((idx + j) % sLength)){
case '(' : case '[' : case '{' :
stack.push( s.charAt((idx + j) % sLength) );
break;
case ')' :
if(!stack.empty() && stack.peek() == '('){
stack.pop();
}else{
flag = false;
}
break;
case ']' :
if(!stack.empty() && stack.peek() == '['){
stack.pop();
}else{
flag = false;
}
break;
case '}' :
if(!stack.empty() && stack.peek() == '{'){
stack.pop();
}else{
flag = false;
}
break;
}
if(!flag) break;
}
if(flag && stack.isEmpty()) answer++;
}
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
programmers_행렬의 곱셈_java (0) | 2023.04.04 |
---|---|
programmers_귤 고르기_java (0) | 2023.04.04 |
programmers_멀리 뛰기_java (0) | 2023.04.04 |
programmers_N개의 최소공배수_java (0) | 2023.04.04 |
programmers_점프와 순간 이동_java (0) | 2023.04.03 |