
1. 문제 풀이 아이디어
- 열린 괄호의 갯수와 닫힌 괄호의 갯수를 계산하여 문제를 해결한다.
2. 나의 정답 코드
StreamReader sr = new(Console.OpenStandardInput());
StreamWriter sw = new(Console.OpenStandardOutput());
string s = sr.ReadLine();
int a = 0;
int b = 0;
for (int i = 0; i < s.Length; i++)
{
if (s[i] == '(')
{
a++;
}
else
{
if (a > 0)
{
a--;
}
else
{
b++;
}
}
}
sw.WriteLine(a + b);
sr.Close();
sw.Close();
3. 정리
- 입력 문자열을 읽고, 열린 괄호의 수를
a
, 닫힌 괄호가 부족한 수를b
로 초기화한다.
- 문자열을 순회하며 열린 괄호
(
가 나오면a
를 증가시킨다.
- 닫힌 괄호
)
가 나오면a
가 양수일 경우a
를 감소시키고, 그렇지 않으면b
를 증가시킨다.
- 최종적으로
a
와b
의 합을 출력하여 필요한 괄호의 총 개수를 구한다.
Share article