언어: 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=분할횟수)
로 사용할 수 있다.
'BOJ' 카테고리의 다른 글
[백준/BOJ] python 1343번 폴리오미노 (0) | 2023.01.25 |
---|---|
[백준/BOJ] python 9506번 약수들의 합 (0) | 2023.01.25 |
[백준/BOJ] python 1904번 01타일 (0) | 2023.01.25 |
[백준/BOJ] python 1010번 다리 놓기 (0) | 2023.01.25 |
[백준/BOJ] python 7568번 덩치 (1) | 2023.01.25 |