본문 바로가기

코딩 테스트/백준 파이썬 문제 풀이

[백준 8958번 파이썬] OX퀴즈

https://www.acmicpc.net/problem/8958

 

이번 문제는 복잡해 보이지만 이해하면 쉬운 문제인데

일단 첫 번째로는 입력할 수 있는 케이스의 개수를 정하고

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의 숫자를 따로 올림으로써

문제의 내용을 구현할 수 있다