본문 바로가기
코딩 테스트/알고리즘(Java)

[프로그래머스/Lv.2] 짝지어 제거하기

by KeepCoding 2025. 1. 21.

<문제>

 

 

<접근 방식>

1) 스택을 사용한다.

2) peek()을 사용해 top을 확인 후 현재 문자와 동일하면 현재 문자를 push해줄 필요없이 top을 pop해준다.

3) 2)에서 동일하지 않다면 현재 문자를 push한다.

 

 

<코드>

import java.util.*;

class Solution
{
    public int solution(String s) {        
        Stack<Character> charStack = new Stack<>();
        
        for(char word : s.toCharArray()) {
            if(!charStack.isEmpty() && charStack.peek() == word) {
                charStack.pop();
            }
            else {
                charStack.push(word);
            }
        }
        
        return charStack.isEmpty() ? 1 : 0;
    }
}
반응형