# 8958 OX 퀴즈
# O가 연속된 수가 많을수록 점수가 높아져 더해진다.
# O를 카운트하는 수를 만들어 점수로 더해주고, X를 만나면 0으로 초기화 시키자!
import sys
T = int(input())
for tc in range(1, T+1):
cnt = score = 0
arr = sys.stdin.readline().rstrip()
for ch in arr:
if ch == 'O':
cnt += 1
score += cnt
else:
cnt = 0
print(score)
들어오는 문자열을 받아서, O일 때마다 cnt에 1이 증가하고, 해당 cnt를 score에 더해주는 식으로 풀었다.
X를 만나면 cnt는 초기화된다. 그래서 cnt에는 O가 연속된 숫자가 저장되는 것이다.
'개발 공부 > 알고리즘 문제풀이' 카테고리의 다른 글
[백준] 15596. 정수 n개의 합 (0) | 2022.07.18 |
---|---|
[백준] 4344. 평균은 넘겠지 (0) | 2022.07.18 |
[백준] 1546. 평균 (0) | 2022.07.17 |
[백준] 3052. 나머지 (0) | 2022.07.17 |
[백준] 2577. 숫자의 개수 (0) | 2022.07.17 |