🔒 짝지어 제거하기
✔ 문제 설명
🚩 요구사항 분석
- 스택을활용해 스택이 비어있지않고 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개 연속된문자 확인
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Java] Lv2 - 영어 끝말잇기 (0) | 2023.01.04 |
---|---|
[프로그래머스 / Java] Lv2 - 이진 변환 반복하기 (0) | 2023.01.04 |
[프로그래머스 / Java] Lv2 - 올바른 괄호 (0) | 2023.01.04 |
[프로그래머스 / Java] Lv2 - 점프와 순간 이동 (0) | 2023.01.04 |
[프로그래머스 / Java] Lv2 - 예상 대진표 (0) | 2023.01.04 |