프로그래머스 백준 문제

3986 좋은 단어

전한준 2025. 7. 14. 14:18

 

3986번: 좋은 단어

 

 

 

 

Stack 이 비어 있지 않을 때의 비교 방법  익혀두자 

처음에는 Stack 을 2개로 한 다음에 나중에 비어있지 않음 여부로 할려고 했는데 오류가 났다. 

비어 있을 때마다 한개 씩 늘리는 거 이것도 결국에 AA 이렇게 묶음으로 처리가 됐으니까 이렇게 계산하는 거다. 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    static int cnt;
    public static void main(String[] args) throws IOException{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    int n=Integer.parseInt(br.readLine());
    for(int i=0;i<n;i++){
        String s=br.readLine();
        Stack<Character>stack=new Stack<>();
        for(int t=0;t<s.length();t++){
            char c=s.charAt(i);
            if(!stack.isEmpty() && stack.peek()==c){
                stack.pop();
            }
            else{
                stack.push(c);
            }
        }
        if(stack.isEmpty()){cnt++;}

    }
        System.out.println(cnt);

    }
}