왼쪽으로 shift한 경우 중,
올바른 괄호 문자열이 되게 하는 갯수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
i = (i + SHIFT_LEN) % 총길이
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<>();
boolean isAnswer = true;
for (int len = 0; len < s.length(); len++) {
int idx = (i + len) % s.length();
char current = s.charAt(idx);
if(current == '(' || current == '{' || current == '[') {
stack.push(current);
} else {
if(stack.isEmpty()) {
isAnswer = false;
break;
}
char prev = stack.pop();
if(!(current == ')' && prev == '(' ||
current == '}' && prev == '{' ||
current == ']' && prev == '[')) {
isAnswer = false;
break;
}
}
}
if(!stack.isEmpty()) {
isAnswer = false;
}
if(isAnswer) {
answer += 1;
}
}
return answer;
}
}
[프로그래머스] [1차] 비밀지도 (0) | 2024.12.10 |
---|---|
[프로그래머스] n^2배열 자르기 (0) | 2024.12.10 |
[프로그래머스] 예상 대진표 (0) | 2024.12.09 |
[프로그래머스] 귤고르기 (0) | 2024.12.09 |
[프로그래머스] 영어 끝말잇기 (0) | 2024.12.09 |