λ¬Έμ
λ°±μ€ μ¨λΌμΈ μ μ§ - 4889λ²
νμ΄ κ³Όμ
μ¬λ κ΄νΈμ λ«λ κ΄νΈλ₯Ό μ μ ν λ³ννμ¬ μ§μ΄ λ§λλ‘ νλ λ°©λ²μ μ°Ύλ λ¬Έμ μ λλ€.
κ΄νΈ μ§ λ§μΆκΈ° λ¬Έμ μ μ μ¬ν 컨μ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
μ°μ μ¬λ κ΄νΈ({
)μ κ²½μ° ν΄λΉ κ΄νΈκ° μμ μ μΈμ§λ μ΄ κ΄νΈλ§ λ΄μλ μ μ μμ΅λλ€. (μ΄νμ λμ€λ κ΄νΈμ μν₯μ λ°μ)
λμ μ λ«λ κ΄νΈ(}
)μ κ²½μ° μ΄μ μ μ¬λ κ΄νΈκ° μ‘΄μ¬ν΄μΌλ§ μμ μ μΈ λ¬Έμμ΄μ λ§λ€ μ μμ΅λλ€.
λ§μ½ λ«λ κ΄νΈκ° λμλλ° μ¬λ κ΄νΈκ° μ‘΄μ¬νμ§ μμ κ²½μ° μ μΌν λ°©λ²μ ν΄λΉ κ΄ν¨λ₯Ό μ¬λ κ΄νΈλ‘ λ°κΎΈλ κ² λΏμ λλ€.
μ΄λ£° μν΄ μ€ν
μ νμ©ν΄μ κ΄νΈ μ’
λ₯μ λ°λΌ push, pop
μ μννκ³ μ΅μ’
μ μΌλ‘ λ¨λ μ¬λ κ΄νΈμ κ°μ / 2
κ° νμν λ«λ κ΄νΈμ κ°μμ
λλ€.
μ½λ
import sys
def solution(string):
change = 0
stack = []
for bracket in string:
if bracket == '{':
stack.append('{')
else:
if not stack:
stack.append('{')
change += 1
elif stack[-1] == '{':
stack.pop()
change += len(stack) // 2
return change
if __name__ == '__main__':
question_number = 1
while True:
string = sys.stdin.readline().strip()
if string[0] == '-':
break
answer = solution(string)
print(f"{question_number}. {answer}")
question_number += 1
'π algorithm > boj' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
BOJ 6118 - μ¨λ°κΌμ§ (0) | 2021.06.07 |
---|---|
BOJ 2331 - λ°λ³΅μμ΄ (0) | 2021.06.07 |
BOJ 4811 - μμ½ (0) | 2021.06.07 |
BOJ 5980 - Corn Maze (0) | 2021.06.07 |
BOJ 1240 - λ Έλμ¬μ΄μ 거리 (0) | 2021.06.07 |
π¬ λκΈ