풀이과정
1. 스택사용
2. 스택 =0 -> add(b)
3. 스택 !=0 -> if(stack.peek() == 현재문자) -> push(현재문자)
-> if(stack.peek() != 현재문자) -> stack.pop()
4. if(stack.isEmpty()) -> result++ -> 2번으로 돌아감. 해당 반복은 idx 변수 이용.
5. 마지막에 남는 a 는 answer에 넣어줌
코드
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
int idx =0;
Stack<Character>stack = new Stack<>();
//idx 가 s.legnth() 의 끝까지
while(idx!=s.length()){
if(stack.isEmpty()){
stack.push(s.charAt(idx));
idx++;
}else{
if(stack.peek()!=s.charAt(idx)){
stack.pop();
idx++;
}else{
stack.push(s.charAt(idx));
idx++;
}
}
if(stack.isEmpty()){
answer++;
}
}
if(!stack.isEmpty()){
answer++;
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 - 마법의 엘리베이터 (0) | 2023.02.19 |
---|---|
프로그래머스 - 숫자 변환하기 (0) | 2023.02.19 |
프로그래머스 - 무인도 여행 (0) | 2023.02.17 |
프로그래머스 - 호텔대실 (0) | 2023.02.15 |
프로그래머스 - 택배상자 (0) | 2022.12.20 |