📝문제 설명

 

- 연속된 문자가 2개가 나타나면 삭제된다.

- 연속된 문자를 계속 삭제하여 문자열을 모두 제거하면 1을 반환 아니면 0 반환

- 뭔가 괄호 문제랑 비슷..?!!


📢입출력 예시

 


✏️문제 풀이

import java.util.*;
    
class Solution
{
    public int solution(String s)
    {
        int answer = -1;
        Stack<Character> mystack = new Stack<>();
        
        for(int i=0; i<s.length(); i++){
            char c = s.charAt(i);
            
            if(mystack.isEmpty()){
                mystack.push(c);
            }else{
                if(mystack.peek() == c){
                    mystack.pop();
                }else{
                    mystack.push(c);
                }
            }
            
        }
        
        if(mystack.isEmpty()) answer = 1;
        else answer = 0;
        

        return answer;
    }
}

💡새로 알게된 점

다른 사람들이 푼 코드를 보다가 return 형식을 간단하게 하는 방법을 보았다.

return stack.isEmpty() ? 1 : 0;

 

삼항연산자를 쓰면 return 값을 보다 짧게 나타낼 수 있다.