하루 한 접시
[백준]9012번: 괄호 [C#]
NaZZU
2024. 3. 20. 00:54
첫째 줄에는 반복 횟수가, 둘째줄 부터는 입력이 주어진다.
괄호가 완전히 닫히게 되면 VPS라고 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using System.IO;
using System.Text;
namespace 연습장
{
internal class Program
{
static void Main(string[] args)
{
int T = int.Parse(Console.ReadLine());
for(int i = 0; i < T; i++)
{
int balance = 0;
string PS = Console.ReadLine().Trim();
for(int j = 0; j < PS.Length; j++)
{
if (PS[j] == '(')
balance++;
else if (PS[j] == ')')
balance--;
if (balance < 0)
break;
}
if (balance == 0)
Console.WriteLine("YES");
else
Console.WriteLine("NO");
}
}
}
}
|
cs |
'('와 ')'의 균형을 잡아줄 변수 하나를 만들고, '(' 라면 +1 // ')' 라면 -1을 한다
'('의 수가 더 많은 경우에는 0이 아닌 양의 정수로 balance의 값이 나오기 때문에 NO(중요. 대문자임)
')'의 수가 더 많다면 루프에서 조건에 걸려서 나가게 된다.
마찬가지로 ')'로 시작한다면 절대로 VPS가 아니기 때문에 첫번째 루프에서 break된다.