https://www.acmicpc.net/problem/9012
단순히 괄호의 수만 확인하는 것이 아니라, 한 쌍의 괄호가 아니게 되는 조건을 찾아 NO를 출력해야 했다.
using System;
using System.Text;
namespace B9012
{
class Program
{
static int IsVPS(string str)
{
Stack<char> stack = new Stack<char>();
int r = 0;
for (int j = 0; j < str.Length; j++) stack.Push(str[j]);
for (int j = 0; j < str.Length; j++)
{
char c = stack.Pop();
if (c == ')') r++;
else
{
r--;
if (r < 0)
{
r--;
break;
}
}
}
stack.Clear();
return r;
}
static void Main()
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
StringBuilder sb = new StringBuilder();
int t = int.Parse(sr.ReadLine());
for (int i = 0; i < t; i++)
{
int r = IsVPS(sr.ReadLine());
if (r == 0) sb.Append("YES\n");
else
{
sb.Append("NO\n");
r = 0;
}
}
sw.Write(sb);
sr.Close();
sw.Flush();
sw.Close();
}
}
}
등수가 꽤나 앞에 있으면 너무 재밌고 뿌듯하고..그렇다
2등부터 시간이 같지만, 메모리와 코드 길이의 차이로 등수가 갈렸다. 어떤 부분이 다른지 배워야겠다!
'알고리즘 > 백준 BOJ' 카테고리의 다른 글
[ BOJ/C# ] 11651 좌표 정렬하기 2 (0) | 2023.10.04 |
---|---|
[ BOJ/C# ] 17626 Four Squares (0) | 2023.10.03 |
[ BOJ/C# ] 11866 요세푸스 문제 0 (0) | 2023.09.30 |
[ BOJ/C# ] 11650 좌표 정렬하기 (0) | 2023.09.29 |
[ BOJ/C# ] 10814 나이순 정렬 (0) | 2023.09.29 |