[프로그래머스 / Java] Lv2 - 짝지어 제거하기

은상현(COBI)·2022년 12월 11일
0

Programmers

목록 보기
6/7
post-thumbnail

🔒 짝지어 제거하기

✔ 문제 설명

🚩 요구사항 분석

  • 스택을활용해 스택이 비어있지않고 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;
    }
}

💡 추가한 테스트 케이스

ParametersReturn
test1"baacaa"0
test2"bbaaaa"1
test3"bbaaaqwerasqqqr"0
profile
백엔드 떠오르는 상현달

0개의 댓글