https://www.acmicpc.net/problem/8958
# 8958 OX퀴즈
n = int(input())
for _ in range(n):
ox_list = list(input())
score = 0
sum_score = 0
for ox in ox_list:
if ox =='O':
score += 1
sum_score += score
else:
score = 0
print(sum_score)
테스트 케이스의 개수를 n에 입력받고 for문을 n만큼 반복한다. for문 안에서 'o', 'x'로 이루어진 문자열을 입력받아 리스트로 변환해서 ox_list에 저장한다.
'O'를 입력받았을 때 점수를 저장할 변수 score와 총합계를 저장할 변수 sum_score를 선언한다. 이 변수들은 다음 for문이 끝나고 초기화하기 위해서 정수값 0으로 선언했다.
다음 for문에서 입력받은 ox_list에서 'O', 'X'를 하나씩 검사한다. 변수는 ox로 지정하고 변수 ox가 'O'일 때 score 값에 1을 더하고 sum_score에 score값을 더한다. 만약 'O'가 아닐 시 'O'가 연속으로 나오지 않았다는 것이기에 score 값을 0으로 초기화한다.
'Coding Test' 카테고리의 다른 글
Python 백준 알고리즘 : 1065 한수 (0) | 2023.02.01 |
---|---|
Python 백준 알고리즘 4673 : 셀프 넘버 (0) | 2023.02.01 |
Python 백준 알고리즘 15596 : 정수 n개의 합 (0) | 2023.02.01 |
Python 백준 알고리즘 4344 : 평균은 넘겠지 (0) | 2023.02.01 |
Python 백준 알고리즘 3052 : 나머지 (0) | 2023.02.01 |