그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태
만일 그릇이 포개진 모양이 ((((와 같다면 전체의 높이는 25cm
처음 바닥에 있는 그릇의 높이가 10cm
이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어난 높이는 5+5+5=15
()()와 같은 경우라면
높이는 10*4=40cm
입력에 주어진 모양대로 그릇을 쌓을 때 최종의 전체 그릇 높이를 계산
처음 입력으로 주어진 각 그릇의 방향은 바꿀 수 없음
입력
첫 줄에는 괄호문자로만 이루어진 문자열이 주어짐
입력 문자열에서 열린 괄호 ‘(’은 바로 놓인 그릇, 닫힌 괄호 ‘)’은 거꾸로 놓인 그릇을 나타냄
문자열의 길이는 3이상 50 이하
출력
그릇 방향이 괄호 문자로 표시된 문자열을 읽어서 그 최종의 높이를 정수로 출력
시간 제한: 1초
메모리 제한: 128 MB
"""
입출력 예시)
(예제 입력 1)
(((( -> 25
(예제 입력 2)
()()()))( -> 80
"""
## 의사코드 ##
# res = 10 # 처음 놓인 그릇의 높이
# for i in range(1, len(plates)): # 인덱스 0(맨 처음 놓인 그릇)을 제외한 나머지 그릇
# # 현재 그릇이 '('인 경우
# if plates[i] == '(':
# if plates[i-1] == '(':
# res += 5
# else:
# res += 10
# # 현재 그릇이 ')'인 경우
# else:
# if plates[i-1] == ')':
# res += 5
# else:
# res += 10
통과한 코드
plates = str(input())
res = 10 # 맨 처음 놓인 그릇의 높이
# 인덱스 0(맨 처음 놓인 그릇)을 제외한 나머지 그릇
for i in range(1, len(plates)):
# 현재 그릇이 '('인 경우
if plates[i] == '(':
if plates[i-1] == '(':
res += 5
else:
res += 10
# 현재 그릇이 ')'인 경우
else:
if plates[i-1] == ')':
res += 5
else:
res += 10
print(res)