
https://www.acmicpc.net/problem/10799
λ¬Έμ
μ¬λ¬ κ°μ μ λ§λκΈ°λ₯Ό λ μ΄μ λ‘ μ λ¨νλ €κ³ νλ€. ν¨μ¨μ μΈ μμ μ μν΄μ μ λ§λκΈ°λ₯Ό μλμμ μλ‘ κ²Ήμ³ λκ³ , λ μ΄μ λ₯Ό μμμ μμ§μΌλ‘ λ°μ¬νμ¬ μ λ§λκΈ°λ€μ μλ₯Έλ€. μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ λ€μ 쑰건μ λ§μ‘±νλ€.
- μ λ§λκΈ°λ μμ λ³΄λ€ κΈ΄ μ λ§λκΈ° μμλ§ λμΌ μ μλ€.
- μ λ§λκΈ°λ₯Ό λ€λ₯Έ μ λ§λκΈ° μμ λλ κ²½μ° μμ ν ν¬ν¨λλλ‘ λλ, λμ μ κ²ΉμΉμ§ μλλ‘ λλλ€.
- κ° μ λ§λκΈ°λ₯Ό μλ₯΄λ λ μ΄μ λ μ μ΄λ νλ μ‘΄μ¬νλ€.
- λ μ΄μ λ μ΄λ€ μ λ§λκΈ°μ μ λμ κ³Όλ κ²ΉμΉμ§ μλλ€.
μλ κ·Έλ¦Όμ μ 쑰건μ λ§μ‘±νλ μλ₯Ό 보μ¬μ€λ€. μνμΌλ‘ κ·Έλ €μ§ κ΅΅μ μ€μ μ μ λ§λκΈ°μ΄κ³ , μ μ λ μ΄μ μ μμΉ, μμ§μΌλ‘ κ·Έλ €μ§ μ μ νμ΄νλ λ μ΄μ μ λ°μ¬ λ°©ν₯μ΄λ€.

μ΄λ¬ν λ μ΄μ μ μ λ§λκΈ°μ λ°°μΉλ λ€μκ³Ό κ°μ΄ κ΄νΈλ₯Ό μ΄μ©νμ¬ μΌμͺ½λΆν° μμλλ‘ ννν μ μλ€.
- λ μ΄μ λ μ¬λ κ΄νΈμ λ«λ κ΄νΈμ μΈμ ν μ β( ) β μΌλ‘ ννλλ€. λν, λͺ¨λ β( ) βλ λ°λμ λ μ΄μ λ₯Ό νννλ€.
- μ λ§λκΈ°μ μΌμͺ½ λμ μ¬λ κ΄νΈ β ( β λ‘, μ€λ₯Έμͺ½ λμ λ«ν κ΄νΈ β) β λ‘ ννλλ€.
μ μμ κ΄νΈ ννμ κ·Έλ¦Ό μμ μ£Όμ΄μ Έ μλ€.
μ λ§λκΈ°λ λ μ΄μ μ μν΄ λͺ κ°μ μ‘°κ°μΌλ‘ μλ €μ§λλ°, μ μμμ κ°μ₯ μμ μλ λ κ°μ μ λ§λκΈ°λ κ°κ° 3κ°μ 2κ°μ μ‘°κ°μΌλ‘ μλ €μ§κ³ , μ΄μ κ°μ λ°©μμΌλ‘ μ£Όμ΄μ§ μ λ§λκΈ°λ€μ μ΄ 17κ°μ μ‘°κ°μΌλ‘ μλ €μ§λ€.
μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ μ£Όμ΄μ‘μ λ, μλ €μ§ μ λ§λκΈ° μ‘°κ°μ μ΄ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
ν μ€μ μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ κ³΅λ°±μμ΄ μ£Όμ΄μ§λ€. κ΄νΈ λ¬Έμμ κ°μλ μ΅λ 100,000μ΄λ€.
μΆλ ₯
μλ €μ§ μ‘°κ°μ μ΄ κ°μλ₯Ό λνλ΄λ μ μλ₯Ό ν μ€μ μΆλ ₯νλ€.
쑰건
- μκ° μ ν 1μ΄
- λ©λͺ¨λ¦¬ μ ν 256MB
μ κ·Ό
π μ²μμλ λ§λκΈ°κ° λλλ©΄ κ·Έ μμ ν¬ν¨λ λ μ΄μ μ κ°μ +1κ°λ₯Ό μΆκ°ν΄μ£Όλ μμΌλ‘ μ½λλ₯Ό μμ±νμλ€.
νμ§λ§ κ·Έλ κ² νλ λ μ΄μ μ κ°μλ₯Ό μ€μ ν΄μ£ΌκΈ°κ° κ΅μ₯ν 볡μ‘ν΄μ Έμ ꡬκΈλ§μ ν΄λ³Έ κ²°κ³Ό λ μ΄μ κ° λμ¬ λλ§λ€ μλ¦° λ§λκΈ°μ κ°μλ₯Ό μΆκ°ν΄μ£Όλ©΄ λλ€λ λ°©λ²μ μ°Ύκ² λμλ€!
μ½λ
import sys
input = sys.stdin.readline
bar_razor = list(input().rstrip())
answer = 0
stk = []
for i in range(len(bar_razor)):
if bar_razor[i] == '(':
stk.append('(')
else:
if bar_razor[i-1] == '(':
stk.pop()
answer += len(stk)
else:
stk.pop()
answer += 1
print(answer)
- '('κ° λμ€λ©΄ μ€νμ λ£μ΄μ€λ€.
- ')'κ° λμ€λ©΄ λ κ°μ§ κ²½μ°λ‘ λλλ€.
- μ§μ μ΄ '('μΈ κ²½μ°, λ μ΄μ κ° νλ μμ±λ κ²μ΄λ―λ‘ νμ¬ μ€νμ κΈΈμ΄ (= νμ¬ λ§λκΈ°μ κ°μ) λ§νΌμ answerμ λν΄μ€λ€.
- μ§μ μ΄ ')'μΈ κ²½μ°, λ§λκΈ° νλκ° λλ λνΈλ¨Έλ¦¬κ° 1κ° λ¨κ² λλ―λ‘ answerμ 1μ λν΄μ€λ€.
λλ μ & λ°°μ΄ μ