만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

마이너스

면접 대비

시간 제한5초메모리 제한1024 MB

요약
+와 -로 이루어진 문자열에서 인접한 두 -를 +로 바꾸는 연산을 반복해 만들 수 있는 연속된 +의 최대 길이를 구합니다.
난이도

보통10점 중 5점

유형
문자열, 투 포인터, 그리디
정답자
아직 제출이 없습니다

문제

마이너스가 두 개 곱해지면 플러스가 된다는 것은 잘 알려져 있다. 하지만 이 사실은 두 마이너스가 서로 이웃해 있을 때만 성립한다. 바이토시아에게는 플러스와 마이너스로 이루어진 문자열이 있다. 그녀는 이웃한 마이너스 두 개를 골라 플러스로 바꿀 수 있으며, 이 작업을 원하는 만큼 몇 번이든 할 수 있다. 그녀는 이웃한 플러스를 가능한 한 많이 만들고 싶어 한다.

문자열을 입력받아 바이토시아가 연산을 수행한 뒤 얻을 수 있는 이웃한 플러스의 최대 개수를 구하고, 그 결과를 표준 출력에 쓰는 프로그램을 작성하라.

입력

입력의 첫 번째 줄이자 유일한 줄에 공백 없이 + 와 - 로만 이루어진 비어 있지 않은 문자열이 주어진다. 문자열의 길이는 n이다. 문자열의 길이는 1,000,000을 넘지 않는다.

출력

출력의 첫 번째 줄이자 유일한 줄에, 바이토시아가 연산을 몇 번 수행한 뒤 얻을 수 있는 이웃한 플러스의 최대 개수를 정수 하나로 출력한다.

예제4

  1. 예제 1

    입력
    -+--+
    
    예상 출력
    3
    
  2. 예제 2

    입력
    --+---+-
    
    예상 출력
    3
    
  3. 예제 3

    입력
    ++-+--+----+-+
    
    예상 출력
    6
    
  4. 예제 4

    입력
    +--+++-------+-+++-+
    
    예상 출력
    8