복잡하게 만들지 말자
면접 대비시간 제한1초메모리 제한1024 MB
괄호와 공백으로 이루어진 식이 주어졌을 때, 가장 안쪽 괄호는 1로 세고 한 단계 바깥으로 나갈 때마다 1씩 더한 값을 모두 합한 복잡도를 구합니다.
문제
괄호의 개수와 중첩 깊이는 식이 얼마나 복잡한지 보여주는 좋은 지표인 경우가 많다.
(, ), 공백으로만 이루어진 문자열이 주어질 때 그 복잡도를 구하시오. 복잡도는 다음과 같이 정의한다.
- 가장 안쪽 괄호 쌍은 복잡도에 1을 더한다.
- 안쪽 괄호 쌍만 포함하는 괄호 쌍은 복잡도에 2를 더한다. 한 단계 바깥으로 나갈 때마다 2가 더해진다.
- 그다음 단계 바깥의 괄호 쌍은 3을 더하고, 이런 식으로 계속된다.
입력
입력은 한 줄이다. 유효한 식이 한 줄로 주어지며, 길이는 2 이상 60 이하이고 각 문자는 (, ), 공백 중 하나이다. 공백은 어디에든 올 수 있으며, 60자에는 공백도 포함된다. 입력에는 괄호 쌍이 적어도 하나 있다.
식은 유효하다. 여는 괄호마다 뒤에 대응하는 닫는 괄호가 있다. 오류를 검사할 필요는 없다.
출력
식의 복잡도를 출력한다.
힌트
마지막 예시 입력은 괄호가 20단계로 중첩되어 있다.