
1. 문제 풀이 아이디어
- 연속된 같은 괄호가 나오는 경우만 고려하여
(
의 개수를 세고,)
를 만날 때마다 앞서 등장한(
의 개수를 더하여 문제를 해결할 수 있다.
2. 나의 정답 코드
using (StreamReader sr = new StreamReader(Console.OpenStandardInput()))
using (StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()))
{
string line = sr.ReadLine();
int left = 0;
int result = 0;
for (int i = 0; i < line.Length - 1; i++)
{
if (line[i] != line[i + 1]) continue;
if (line[i] == '(') left++;
else result += left;
}
sw.WriteLine(result);
}
3. 정리
(
가 연속으로 등장하면 개수를 증가시킨다.
)
가 연속으로 등장하면 앞서 등장한(
의 개수를 결과에 더한다.
- 최종적으로 결과 값을 출력해 문제를 해결한다.
Share article