본문 바로가기
Python/Baekjoon

[백준] 8958번 : OX퀴즈 (Python)

by 고구마랑쪼오꼬랑 2024. 11. 24.

문제

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

 

 

 

소스 코드

n=int(input())
test_case=[]
num=0
score=0
for i in range(0, n):
    a=input()
    test_case.append(a)

for i in test_case:
    for j in i:
        if(j=='O'):
            num+=1
        elif(j=='X'):
            num=0
        score+=num
    print(score)
    score, num=0,0

 

 

정리

'OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다' 라는 예제를 보면 문제를 이해할 수 있다.

각 O는 1점이고 X는 0점이며 연속으로 답을 맞췄을 경우 그 연속된 문제까지의 점수를 더해주면된다.

 

test_case 리스트를 만들어 append() 함수를 사용해 각 테스트 케이스를 한줄 한줄 저장해준다.

이후, 이중for문을 사용하여 test_case의 각 줄의 케이스에 대해 연속된 문제를 고려해 점수를 출력하는 코드를 작성한다.

출력 뒤에는 score와 num을 다시 0으로 초기화하여 그 다음 test_case의 케이스에 대해 점수를 출력해주는 것을 반복하면 된다.