jyamethyst21 님의 블로그

백준 8958번- 'OX퀴즈' (PYTHON 풀이) 본문

CODING 💻

백준 8958번- 'OX퀴즈' (PYTHON 풀이)

jyamethyst21 2025. 11. 9. 20:25

문제:

 

해당 문제는 O의 점수를 세면 되는데, O가 첫 등장 시 1점이고 연속적으로 이어질 경우 1씩 커져서 OOO인 경우는 1+2+3이라 6점을 얻게 된다. 중간에 X가 있을 경우는 다시 O가 등장하면 1점씩 더해주면 된다.

 

풀이:

N = int(input())

for i in range(N):
    a = input()
    score = 0
    combo = 0

    for j in a:
        if j == 'O':
            combo += 1
            score += combo
        else:
            combo = 0
    print(score)

점수를 저장하는 score랑 연속일 때 점수 추가 부여를 위해 변수 두개를 선언하였다.

그리고 각 자리에 해당하는 글자를 보고 O이면 콤보를 1 올려주고 score도 이 점수를 그대로 누적 저장한다.

그리고 만약 combo가 깨지면 0점으로 초기화해서 마지막엔 누적 점수인 score를 출력한다.

이렇게 풀면 문제를 풀 수 있다!