본문 바로가기
정리/알고리즘

프로그래머스 - 짝지어 제거하기

by Hudini30 2022. 4. 7.

프로그래머스 - 짝지어 제거하기

해당문제는 스택에 한글자씩 넣어 주며 스택의 peek 값과 넣어주는 값이 같다면 스택에 넣지 않고 pop을 하면서 문자를 제거 해 주었습니다. 최종적으로 스택에 값이 남아 있다면 제거하는 것에 실패한 것으로 간주 해 0값을 리턴해 주었습니다.

    public int solution(String s) {
        Stack<Character> pairStack = new Stack<>();

        for(int i = 0; i < s.length(); i++) {
            char compareChar = s.charAt(i);
            if (!pairStack.isEmpty() && pairStack.peek() == compareChar) {
                pairStack.pop();
            } else {
                pairStack.push(compareChar);
            }
        }

        return pairStack.isEmpty() ? 1 : 0;
    }

댓글