[BOJ] 9012 괄호

🔗 Problem

https://www.acmicpc.net/problem/9012

👩‍💻 Code

package baekjoon;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

// 괄호

public class BJ9012 {
	
	static int n;
	static String[] arr;
	static int cnt;
	
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		n = Integer.parseInt(br.readLine());
		
		for(int i = 0; i < n; i++) {
			
			cnt = 0;
			arr = br.readLine().split("");
			
			for(int j = 0; j < arr.length; j++) {
	
				if(arr[j].equals("(")) cnt++;		// 여는 괄호라면 cnt 증가
				else {								// 닫는 괄호라면 cnt 감소
					cnt--;
					if(cnt < 0) break;
				}
			}
			
			if(cnt == 0) sb.append("YES\n");		// VPS라면 열고 닫는 횟수가 같기 때문에 최종적으로 cnt는 0이 되어야 한다.
			else sb.append("NO\n");
		}
		
		System.out.println(sb.toString());
		
	}
}

💡 Learned

아이디어

  • Queue 사용할까 했는데 Queue 없이 구현할 수 있는 것을 캐치하였다.

해당 문제는 쉽게 풀었는데 원래 오늘 시뮬레이션과 구현 문제를 풀려고 했었는데 머리가 잘 안돌아가고 시간도 없어서 패쓰했다. 너무 알고리즘 문제만 풀었나 단순구현 문제가 더 어렵게 느껴진다😥 연습 좀 해야겠당

좋은 웹페이지 즐겨찾기