[알고리즘] 백준 8958 : OX퀴즈 - B2

eternal moment·2023년 4월 3일
0

2023.04.03 풀이

import sys
input=sys.stdin.readline

n=int(input())
for i in range(n):
    sum=0
    cnt=0
    a=input()
    for j in a:
        if j=='O':
            cnt+=1
            sum+=cnt
        else:
            cnt=0
    print(sum)
  • 0이 연속되는동안 cnt를 +1 해주면서 연속되는 0의 개수를 카운트. 그때마다 cnt들의 합을 구하기 위해 sum에 +cnt를 통해 연속된 0의 총 개수를 구함

다른 풀이

T = int(input())
for i in range(T):
    A = list(input())
    result = a = 0
    for j in A:
        if j == 'O':
            a += 1
            result += a
        else :
            a = 0
    print(result)
  • 같은 풀이지만 sum 과 cnt를 동시에 선언한 풀이.

check point

  • 변수 선언 시 a=b=0 가능

0개의 댓글