본문 바로가기

algorithm/백준알고리즘

[백준알고리즘] 8958번: OX퀴즈 -Python

728x90

[백준알고리즘] 8958번: OX퀴즈 -Python

8958번: OX퀴즈 (acmicpc.net)

 

8958번: OX퀴즈

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

www.acmicpc.net

1. O로 이루어진 문자열 단위를 잘라 길이를 구한다.

2. O로 이루어진 문자열의 길이가 r일 때, 1부터 r까지의 합을 구한다.

1부터 n까지의 합 = n * (n + 1) / 2

 

n = int(input())
for _ in range(n):
    result = list(map(len, input().split("X")))
    result = [r * (r+1) // 2 for r in result]
    print(sum(result))

 

잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다

728x90