μ€ν 10799λ² μ λ§λκΈ°
10799λ²: μ λ§λκΈ°
μ¬λ¬ κ°μ μ λ§λκΈ°λ₯Ό λ μ΄μ λ‘ μ λ¨νλ €κ³ νλ€. ν¨μ¨μ μΈ μμ μ μν΄μ μ λ§λκΈ°λ₯Ό μλμμ μλ‘ κ²Ήμ³ λκ³ , λ μ΄μ λ₯Ό μμμ μμ§μΌλ‘ λ°μ¬νμ¬ μ λ§λκΈ°λ€μ μλ₯Έλ€. μ λ§λκΈ°μ λ μ΄μ
www.acmicpc.net
λ¬Έμ
μ¬λ¬ κ°μ μ λ§λκΈ°λ₯Ό λ μ΄μ λ‘ μ λ¨νλ €κ³ νλ€. ν¨μ¨μ μΈ μμ μ μν΄μ μ λ§λκΈ°λ₯Ό μλμμ μλ‘ κ²Ήμ³ λκ³ , λ μ΄μ λ₯Ό μμμ μμ§μΌλ‘ λ°μ¬νμ¬ μ λ§λκΈ°λ€μ μλ₯Έλ€. μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ λ€μ 쑰건μ λ§μ‘±νλ€.
- μ λ§λκΈ°λ μμ λ³΄λ€ κΈ΄ μ λ§λκΈ° μμλ§ λμΌ μ μλ€. - μ λ§λκΈ°λ₯Ό λ€λ₯Έ μ λ§λκΈ° μμ λλ κ²½μ° μμ ν ν¬ν¨λλλ‘ λλ, λμ μ κ²ΉμΉμ§ μλλ‘ λλλ€.
- κ° μ λ§λκΈ°λ₯Ό μλ₯΄λ λ μ΄μ λ μ μ΄λ νλ μ‘΄μ¬νλ€.
- λ μ΄μ λ μ΄λ€ μ λ§λκΈ°μ μ λμ κ³Όλ κ²ΉμΉμ§ μλλ€.
μλ κ·Έλ¦Όμ μ 쑰건μ λ§μ‘±νλ μλ₯Ό 보μ¬μ€λ€. μνμΌλ‘ κ·Έλ €μ§ κ΅΅μ μ€μ μ μ λ§λκΈ°μ΄κ³ , μ μ λ μ΄μ μ μμΉ, μμ§μΌλ‘ κ·Έλ €μ§ μ μ νμ΄νλ λ μ΄μ μ λ°μ¬ λ°©ν₯μ΄λ€.
μ΄λ¬ν λ μ΄μ μ μ λ§λκΈ°μ λ°°μΉλ λ€μκ³Ό κ°μ΄ κ΄νΈλ₯Ό μ΄μ©νμ¬ μΌμͺ½λΆν° μμλλ‘ ννν μ μλ€.
- λ μ΄μ λ μ¬λ κ΄νΈμ λ«λ κ΄νΈμ μΈμ ν μ ‘( ) ’ μΌλ‘ ννλλ€. λν, λͺ¨λ ‘( ) ’λ λ°λμ λ μ΄μ λ₯Ό νννλ€.
- μ λ§λκΈ°μ μΌμͺ½ λμ μ¬λ κ΄νΈ ‘ ( ’ λ‘, μ€λ₯Έμͺ½ λμ λ«ν κ΄νΈ ‘) ’ λ‘ ννλλ€.
μ μμ κ΄νΈ ννμ κ·Έλ¦Ό μμ μ£Όμ΄μ Έ μλ€.
μ λ§λκΈ°λ λ μ΄μ μ μν΄ λͺ κ°μ μ‘°κ°μΌλ‘ μλ €μ§λλ°, μ μμμ κ°μ₯ μμ μλ λ κ°μ μ λ§λκΈ°λ κ°κ° 3κ°μ 2κ°μ μ‘°κ°μΌλ‘ μλ €μ§κ³ , μ΄μ κ°μ λ°©μμΌλ‘ μ£Όμ΄μ§ μ λ§λκΈ°λ€μ μ΄ 17κ°μ μ‘°κ°μΌλ‘ μλ €μ§λ€.
μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ μ£Όμ΄μ‘μ λ, μλ €μ§ μ λ§λκΈ° μ‘°κ°μ μ΄ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
ν μ€μ μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ κ³΅λ°±μμ΄ μ£Όμ΄μ§λ€. κ΄νΈ λ¬Έμμ κ°μλ μ΅λ 100,000μ΄λ€.
μΆλ ₯
μλ €μ§ μ‘°κ°μ μ΄ κ°μλ₯Ό λνλ΄λ μ μλ₯Ό ν μ€μ μΆλ ₯νλ€.
μμ μ λ ₯1
()(((()())(())()))(())
μμ μΆλ ₯1
17
μμ μ λ ₯2
(((()(()()))(())()))(()())
μμ μΆλ ₯2
24
νμ΄
# Stack
# 10799λ² μ λ§λκΈ°
galho = input()
stack = []
answer = 0
for i in range(len(galho)):
if galho[i] == '(':
stack.append(galho[i])
else:
if galho[i - 1] == '(':
stack.pop()
answer += len(stack)
else:
stack.pop()
answer += 1
print(answer)