이번 문제는 복잡해 보이지만 이해하면 쉬운 문제인데
일단 첫 번째로는 입력할 수 있는 케이스의 개수를 정하고
O와 X 이루어지면 긴 문자열을 각각 받는다
이 문자열에서 O가 있으면 1 점을 추가로 얻고,
X가 있으면 1점을 얻지 못하는데
이때 O가 연속으로 배열돼 있으면 추가로 얻을 1의 숫자가 하나씩 올라간다
num = int(input())
for i in range(num):
a = str(input())
score = 0
get = 0
for k in list(a):
if k == 'O':
score += 1
get += score
else:
score = 0
print(get)
중첩된 for 문 안에서 score와 get의 숫자를 따로 올림으로써
문제의 내용을 구현할 수 있다
'코딩 테스트 > 백준 파이썬 문제 풀이' 카테고리의 다른 글
[백준 15596번 파이썬] 정수 N개의 합 (0) | 2022.04.01 |
---|---|
[백준 4344번 파이썬] 평균은 넘겠지 (0) | 2022.03.31 |
[백준 1546번 파이썬] 평균 (0) | 2022.03.31 |
[백준 3052번 파이썬] 나머지 (0) | 2022.03.31 |
[백준 2577번 파이썬] 숫자의 개수 (0) | 2022.03.31 |