BOJ

[백준/BOJ] python 8958번 OX퀴즈

kyj0015 2023. 1. 25. 21:35

언어: python

번호: 8958

제목: OX퀴즈

등급: 브론즈 2

풀이 과정:

테스트 케이스의 개수 t를 입력받는다. 각 테스트 케이스의 문자열은 O와 X만으로 이루어져 있으니 문자열을 'X'를 기준으로 자른다. 자른 문자열에 O가 n개씩 묶여있을때 1부터 n까지의 합의 점수를 얻는다. 즉 n(n+1)/2의 점수를 얻는다. 따라서 for문을 돌면서 자른 문자열의 길이(자른 문자열의 길이+1)/2의 합을 구해 출력한다.

코드:

# 8958
n = int(input())

for _ in range(n):
    result = 0
    s = input()
    for i in s.split('X'):
        result += len(i)*(len(i)+1)//2
    print(result)

 

메모:

파이썬의 내장 함수 split

문자열.split('구분자', 분활횟수)

문자열.split(sep='구분자', maxsplit=분할횟수)

로 사용할 수 있다.