공부기록/프로그래머스

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

메델 2023. 9. 16. 12:49
import java.util.*;
class Solution
{
    public int solution(String s)
    {
        int answer = -1;
        Stack<Character> stack = new Stack<>();

        for(int i=0; i<s.length(); i++){
            if(stack.size() == 0){
                stack.push(s.charAt(i));
            }else{
                if(s.charAt(i) == stack.peek()){
                    stack.pop();
                }else{
                    stack.push(s.charAt(i));
                }
            }
        }
        if(stack.size() == 0){
            answer = 1;
        }else{
            answer = 0;
        }

        return answer;
    }
}

 

<다른 사람 풀이>

import java.util.*;

class Solution
{
    public int solution(String s)
    {
        int answer = 0;
        Stack<Character> stack = new Stack<>();

        for(char c : s.toCharArray()){
            if(stack.size() == 0){
                stack.push(c);
            }
            else if(stack.peek() == c){
                stack.pop();
            }
            else{
                stack.push(c);
            }
        }


        return stack.size() > 0 ? 0 : 1;
    }
}