코딩테스트/프로그래머스
[프로그래머스 / Java] Lv2 - 짝지어 제거하기
COBI-98
2023. 1. 4. 15:57
🔒 짝지어 제거하기
✔ 문제 설명
🚩 요구사항 분석
- 스택을활용해 스택이 비어있지않고 peek 스택 값이 같다면 지우는 방식을 진행했다.
🔑 문제풀이
import java.util.Stack;
class Solution
{
public int solution(String s)
{
int answer = 0;
Stack<Character> stack = new Stack<>();
//1. 문자제거하기
for (int i=0; i < s.length(); i++){
char c = s.charAt(i);
// 현재 스택이 비어있지않고 peek 스택의 최상위 값이 c와 같다면 pop
if(!stack.isEmpty() && stack.peek() == c){
stack.pop();
}else{
stack.push(c);
}
}
answer = stack.size() == 0 ? 1 : 0;
return answer;
}
}
💡 추가한 테스트 케이스
parameters | return | |
test1 | "baacaa" | 0 |
test2 | "bbaaaa" | 1 |
test3 | "bbaaaqwerasqqqr" | 0 |
4개 연속된문자 확인
3개 연속된문자 확인