본문 바로가기
Problem Solving/Baekjoon

[백준] 3986 좋은 단어 - Data Structure / Java

by graycode 2022. 11. 27.

 문제 링크

 

3986번: 좋은 단어

이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에

www.acmicpc.net

 

 풀이 과정

 

 풀이 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());

        Stack<Character> stk = new Stack<>();
        int cnt = 0;
        while (n-- > 0) {
            String input = br.readLine();
            for (int i = 0; i < input.length(); i++) {
                if (!stk.empty() && input.charAt(i) == stk.peek())
                    stk.pop();
                else
                    stk.push(input.charAt(i));
            }

            if (stk.empty())
                cnt++;

            stk.clear();
        }

        bw.write(String.valueOf(cnt));
        bw.flush();
    }

}

댓글