백준/기초

[백준][1차원배열] 8958번 OX퀴즈

Snowboarder 2022. 3. 10. 21:38

문제접근

  • 1차원 배열을 사용한다.
  • for i in list 안에 조건(if)를 잘 준다.

문제풀이

내풀이

n = int(input())

for _ in range(n):
    ox_list = list(input())
    score = 0  
    sum_score = 0  # 새로운 ox리스트를 입력 받으면 점수 합계를 리셋한다.
    for ox in ox_list:
        if ox == 'O':
            score += 1  # 'O'가 연속되면 점수가 1점씩 커진다.
            sum_score += score  # sum_score = sum_score + score
        else:
            score = 0
    print(sum_score)

숏코딩

for i in[*open(0)][1:]:n=0;print(sum((n:=(n+1)*(j=='O'))for j in i))