짝지어 제거하기

magicdrill·2025년 1월 22일
0

짝지어 제거하기

스택을 사용해서 풀어봤는데 원래 이렇게 시간이 오래 걸리는게 맞는지 모르겠다.

다른 사람들 풀이를 봐도 거의 동일한 알고리즘이라 비슷한 시간이 나올거 같다...

import java.util.Stack;

class Solution
{
    public int solution(String s)
    {
        int answer = -1;
        // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
        //System.out.println("Hello Java");
        int i;
        Stack <Character> st = new Stack<>();
        
        for(i = 0; i < s.length(); i++){
            if(!st.empty() && st.peek() == s.charAt(i)){
                System.out.println("st.peek() == " + st.peek() + " s.charAt(i) == " + s.charAt(i));
                st.pop();
            }
            else{//st.empty() || st.peek() != s.charAt(i)
                st.push(s.charAt(i));
            }
        }
        if(st.empty()){
            answer = 1;
        }
        else{
            answer = 0;
        }

        return answer;
    }
}

0개의 댓글