Skip to content

Latest commit

 

History

History
50 lines (41 loc) · 1.11 KB

File metadata and controls

50 lines (41 loc) · 1.11 KB

프로그래머스 Level2 : 2017 팁스타운 짝지어 제거하기

import java.util.Stack;
class Solution {
    public int solution(String s) {
        Stack<Character> stack = new Stack<>();
        
        for(char c : s.toCharArray()){
            if(!stack.isEmpty() && stack.peek()==c){
                stack.pop();
            } else{
                stack.push(c);
            }
        }
        
        if(stack.isEmpty()) return 1;
        return 0;
    }
}

StringBuilder 효율성 테스트 시간초과

class Solution
{
    public int solution(String s)
    {
        StringBuilder sb = new StringBuilder();
        sb.append(s);
        
        for(int i=0; i<sb.length(); i++){
            char c1 = sb.charAt(i);
            char c2 = i+1<sb.length()?sb.charAt(i+1):'0';
            
            if(c1==c2){
                sb.deleteCharAt(i);
                sb.deleteCharAt(i);
                i = i-2<0 ? -1:i-2;
            }
        }
        
        if(sb.length() == 0) return 1;
        return 0;
    }
}