Jam's story

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

코딩테스트/프로그래머스

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

애플쩀 2022. 7. 21. 05:39

ArrayList로 풀이하니 효용성 실패 

import java.util.*;
class Solution
{
    public int solution(String s)
    {
    ArrayList<String> array = new ArrayList<>(Arrays.asList(s.split("")));
 
    int i = 0;
    while(i < array.size() - 1) {
        if (array.get(i).equals(array.get(i+1))) {
            array.remove(i);
            array.remove(i);
            i = 0;
            continue;
        }
        i++;
    }
 
    if (array.size() == 0) return 1;
    else return 0;
    }}

 

 

Stack 으로 풀기 

import java.util.*;
class Solution
{
    public int solution(String s)
    {
        int answer=0;
        Stack<Character> st=new Stack<>();
        st.push(s.charAt(0));
        for(int i=1; i<s.length(); i++){
            if(!st.isEmpty()&&st.peek()==s.charAt(i)){
                st.pop();
            }else {
                st.push(s.charAt(i));
            }
        }
        answer=st.isEmpty()?1:0;
        return answer;

    }
}
Comments