루나의 TIL 기술 블로그

백준 8958 OX퀴즈

|

백준 8957번 OX퀴즈 문제

사고 과정

O가 한개면 1을 더하고 O가 두 개면 1을 더하고… O가 4개면 1을 더한다.

n = int,input()

for _ in n:
    a = list((input())
    count = 0
    for i in a
        if 'O' in i :
            count += 1
        if 'OO' in i :
            count += 1
        if 'OOO' in i:
            count += 1
        if 'OOOO' in i:
            count += 1
        print(count)


제출 답안

n = int(input())

for _ in range(n):
    a = list(input())
    sum = 0
    #sum 과 cnt(카운트)를 따로 만들었어야했다
    cnt = 0
    #sum은 총점, cnt는 점수를 누적할 때 사용되는 변수이다
    for i in a:
        if i =='O':
            cnt += 1
            #O의 갯수만큼 카운트를 1씩 증가시키고
            sum += cnt
            #늘어난 카운트를 총점에 누적시킨다
        else:
            cnt = 0
            #X가 나오면 카운트를 0으로 리셋한다
    print(sum)

주요 포인트 및 생각해볼 점

중첩된 for문에 조금 익숙해졌다.  
변수가 몇 개 필요한지 미리 생각을 더 해보는 것이 좋겠다.