(Bronze II) OX 퀴즈 – 8958 // Python

성능 요약

메모리: 31256KB, 시간: 52ms

분류

구현, 문자열

문제 설명

OX 퀴즈의 결과는 “OOXXOXXOOOO”입니다.

O는 올바른 질문이고 X는 잘못된 질문입니다.

질문이 올바른 경우 해당 질문에 대한 점수는 해당 질문에 대한 연속 O의 수입니다.

예를 들어 질문 10의 점수는 3입니다.

“OOXXOXXOOOO”의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점입니다.

OX퀴즈 결과에 따라 점수를 계산하는 프로그램을 작성하세요.

입력하다

첫 번째 줄은 테스트 케이스의 수를 나타냅니다.

각 테스트 케이스는 길이가 0보다 크고 80보다 작은 문자열이 주어지면 한 줄로 구성됩니다.

문자열은 O와 X로만 구성됩니다.

인쇄

각 테스트 케이스에 대한 점수를 출력합니다.


내 솔루션

a = int(input())
for i in range(a):
    b = list(input())
    c = 1
    sum = 0
    for i in b:
        if i == 'O':
            sum += c
            c += 1
        else:
            c = 1
    print(sum)


획득 포인트

b = list(input())으로 b에서 OOXXOXXOOO를 수신하면 print(b) -> (‘O’, ‘O’, ‘X’, ‘X’ 하나씩 , ‘O’ , ‘X’, ‘X’, ‘O’, ‘O’, ‘O’).

for i in b를 사용하는 데 사용할 수 있습니다.