선택은 나의 것

[BOJ 백준] 8958번 OX퀴즈 (Python) 본문

☽ Algorithm/BOJ

[BOJ 백준] 8958번 OX퀴즈 (Python)

Algoribi 2020. 9. 14. 22:44

문제

BOJ 8958 : www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수��

www.acmicpc.net

접근

연속된 O의 개수를 누적으로 더한 값을 구하는 문제이다. 나는 counter라는 변수를 통해 O를 만나면 counter를 1증가시키고 답을 저장하는 ans변수에 더해주었다. 반대로 X를 만나면 counter를 0으로 초기화시켜주었다.

코드

n = int(input())
for _ in range(n):
    s = input()
    ans = 0
    counter = 0
    for c in s:
        if c == "X":
            counter = 0
        else:
            counter += 1
        ans += counter
    print(ans, end="\n")

 

깃 허브 주소 : https://github.com/algoribi/algorithm-study

Comments