728x90
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import java.io.*;
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0; // 올바른 괄호 문자열 개수
// x칸만큼 회전시키기
int x = s.length();
while(x>0){
// 올바른 괄호인지 판별하기 > 큐 사용 > 짝 맞추기
if(isValid(s)) answer++;
// 회전시키기
s = s.substring(1) + s.charAt(0);
x--;
}
return answer;
}
public static boolean isValid(String s){
int i=0;
ArrayDeque<Character> q = new ArrayDeque<>();
for(char c : s.toCharArray()){
if(c == '[' || c == '{' || c == '('){
q.push(c);
}
else{
if(q.isEmpty()) return false;
char top = q.pop();
if(c == ']' && top != '[') return false;
if(c == '}' && top != '{') return false;
if(c == ')' && top != '(') return false;
}
}
return q.isEmpty();
}
}'Algorithm > Programmers' 카테고리의 다른 글
| [Lv.2] 프로세스 : Java (0) | 2025.09.26 |
|---|---|
| [Lv.2] JadenCase 문자열 만들기 : Java (0) | 2025.09.26 |
| [Lv.2] 문자열 압축 : Java (0) | 2025.09.26 |
| [Lv.2] 다리를 지나는 트럭 : Java (0) | 2025.09.26 |
| [Lv.2] 짝지어 제거하기 : Java (0) | 2025.09.26 |