Algorithm & Data Structures/Programers

Lv 2. 짝지어 제거하기

Geisha 2024. 4. 17. 10:43

 

처음 풀었던 방식은 while 과 for 문 등의 2중 반복문으로 하였으나 시간초과가 떠서 stack 을 이용한 풀이를 생각해보고 풀어보았다.

 

Stack 이라는 자료구조가 얼른 익숙해져서바로 나와야 할텐데 걱정이 크다.

 

import java.util.*;

class p짝지어제거하기
{
    public int solution(String s)
    {
        char[] arr = s.toCharArray();
        Stack<Character> st = new Stack<>();
        for(int i = 0 ; i < s.length() ; i++){
            char c = arr[i];
            if(st.isEmpty()) st.push(c);
            else{
                if(st.peek()==c) st.pop();
                else st.push(c);
            }
        }
        return st.isEmpty()?1:0;
    }
}

 

Stack
- pop()

- push()

- peek()

 

String

- toCharArray()