방법 1) 이전에 O가 나왔는지 X가 나왔는지 + list에 순서대로 저장해서 나중에 합산해야지
N=int(input())
for i in range(N) :
x=input()
n=0
y=[0 for i in range(len(x))]
while n!=len(x):
if x[n] == 'O':
if n == 0 or x[n-1] == 'X':
y[n] = 1
elif x[n-1] == 'O':
y[n] = y[n-1]+1
elif x[n] == 'X':
y[n] = 0
n+=1
print(sum(y))
방법 2) 지금 O가 나왔는지 X가 나왔는지 > O가 나왔다면 전에 숫자에 누적해서 더하기
N=int(input())
for i in range(N) :
x=input()
score_count,score_sum,score_now=0,0,0
while score_count!=len(x):
if x[score_count] == 'O':
score_now+=1
score_sum+=score_now
elif x[score_count] == 'X':
score_now=0
score_count+=1
print(score_sum)
728x90
'코딩 어쩌구 > 코딩테스트' 카테고리의 다른 글
[백준] 문제집 Python 배우기 : 5355, 2675, 10817번 (0) | 2021.05.20 |
---|---|
[백준] 단계별 문제 : for문(이어서) / while문 (0) | 2021.05.18 |
[백준] 단계별 문제 : 입출력과 사칙연산 / if문 / for문 일부 (~3단계) (0) | 2021.05.16 |
[백준] 문제 3052번, 10171번, 1546번 (0) | 2021.05.14 |
[백준] 문제집 Python 배우기 : 2525, 2530, 2914번 (0) | 2021.05.12 |