본문 바로가기
휴지통/알고리즘 & 자료구조

백준 3986

by 신재권 2022. 2. 9.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;

public class Main3986 {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int N = Integer.parseInt(br.readLine()); //단어의 수 N 
		
		//선이 겹치지 않는 조건 
		// 1. 같은 글자끼리 붙어있을 때 
		// 2. 한 글자는 붙어있고 양 옆에 다른 글자가 있을 때 
		
		int cnt = 0;
		Stack<Character> s;
		while(N-->0) {
			
			s = new Stack<Character>();
			String str = br.readLine();
		
			for(int i=0; i<str.length(); i++) {
				char a = str.charAt(i);
				if(s.size() != 0 && s.peek() == a) { //stack size가 0이 아니고, 스택의 top이 a랑 같다면 빼내줌 
					s.pop();
				}else {
					s.push(a);
				}
			}
			if(s.isEmpty()) { //짝이 맞다면 결국 스택이 비워짐 
				cnt++;
			}
		}
		System.out.println(cnt);
		
	}
	
	
	
}

 

'휴지통 > 알고리즘 & 자료구조' 카테고리의 다른 글

백준 4375_1  (0) 2022.02.11
백준 1629  (0) 2022.02.10
백준 1940  (0) 2022.02.08
백준 1213  (0) 2022.02.07
백준 9375  (0) 2022.02.06