PS [24일차]

Daniel·2022년 8월 10일
0

PS

목록 보기
24/32
post-thumbnail

문제번호

9012

import java.util.*;

public class Main {
	
	
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		
		StringBuilder sb = new StringBuilder ();
		
		int testcase = in.nextInt();
		Loop :
		for (int i = 0 ;i < testcase; i++) {
			String str = in.next();
			int cnt = 0;
			for (int j = 0 ;j < str.length();j++) {
				if (str.charAt(j) == '(' ) {
					cnt++;
				}
				else {
					cnt--;
					if (cnt == -1) {
						sb.append("NO" + "\n");
						continue Loop;
					}
				}
				
			}
			if (cnt == 0) {
				sb.append("YES" + "\n");
			}
			else {
				sb.append("NO" + "\n");
			}
		}
		
		System.out.println(sb);
	}
}

문제

올바른 괄호 문자열(VPS)이면 “YES”, 아니면 “NO”를 한 줄에 하나씩 차례대로 출력

풀이

  • ( 인 경우 카운트를 1 증가, )이면 카운트 1 감소 이 과정중 카운트가 음수면 NO 출력
  • 문자열을 전부 탐색후 카운트가 양수이면 NO 출력 0인 경우. YES 출력
profile
폐쇄

0개의 댓글