728x90
https://school.programmers.co.kr/learn/courses/30/lessons/76502
풀이
- 아스키 코드 사용
코드
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<>();
for(char c : s.toCharArray()){
// 아스키 코드 사용
// () -> 1 차이 {}, [] -> 2차이
if(!stack.isEmpty() && ( stack.peek() == (char)(c-2) || stack.peek() == (char)(c-1)) ) {
stack.pop();
}else{
stack.add(c);
}
}
// 회전
char tmp = s.charAt(0);
s = s.substring(1) + tmp;
if(stack.isEmpty()){
answer++;
}
}
return answer;
}
}
728x90
'알고리즘 풀이' 카테고리의 다른 글
[프로그래머스] 위장 자바(Java) (0) | 2023.04.03 |
---|---|
[프로그래머스] 귤 고르기 자바(Java) (0) | 2023.04.02 |
[프로그래머스] 둘만의 암호 자바(Java) (0) | 2023.03.31 |
[프로그래머스] 신고 결과 받기 자바(Java) (0) | 2023.03.30 |
[프로그래머스] 개인정보 수집 유효기간 자바(Java) (0) | 2023.03.29 |
댓글