CodingTEST
[백준 9012] 괄호 (JAVA)
경걍
2023. 11. 30. 03:48
반응형
백준 9012번 문제 - 괄호
9012번: 괄호
괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고
www.acmicpc.net
문제 분석
- 올바른 괄호 문자열(Valid PS, VPS) : 괄호의 모양( '(' 와 ')' )이 바르게 구성된 문자열을 올바른 괄호 문자열
- 괄호가 주어졌을 때 VPS 여부를 출력해라
- VPS 일 경우 : "YES"
- 아닐 경우 : "NO"
해결 키 포인트
- 문자열 검사
- '(' 일 경우 개수를 세는 변수(openSize)를 1개 증가
- ')' 일 경우 개수를 세는 변수(openSize)를 1개 감소
- 문자열 검사가 끝나고 openSize가 0일 경우 "YES" 아닐 경우 "NO"
코드
import java.io.*;
import java.util.*;
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());
for (int i = 1; i <= N; i++) {
int openSize = 0;
String s = br.readLine();
for (int j = 0; j < s.length(); j++) {
if(s.charAt(j) == '(')
openSize++;
else if(s.charAt(j) == ')')
openSize--;
if(openSize < 0) {
break;
}
}
if(openSize == 0)
bw.write("YES\n");
else
bw.write("NO\n");
}
bw.flush();
bw.close();
}
}
( )
반응형