본문 바로가기

Language/Python

(파이썬) 백준 8958 : OX퀴즈 - 컴도리돌이

728x90
728x90

문제

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.

"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.

OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.


입력

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다.


출력

각 테스트 케이스마다 점수를 출력한다.


예제 입력

5

OOXXOXXOOO

OOXXOOXXOO

OXOXOXOXOXOXOX

OOOOOOOOOO

OOOOXOOOOXOOOOX

예제 출력

10

9

7

55

30


코드

 

요번 문제는 생각보다 까다로운 문제로

O의 개수로 점수를 계산하고 연속된 O의 수에 따라  +1 점수를 해줘야 하기 때문에

쉽지 않은 문제였다....

 

첫 번째 줄에는 테스트 케이스의 개수를 int형으로 받아줬고

그 크기만큼 for 조건문을 해줬습니다.

 

점수와 O의 연속적인 값은 0으로 초기화를 해줬고

여기서 중요한 것은 입력받은 테스트 케이스의 크기만큼 for 조건문을 달아줘야 합니다.

저는 계속 테스트 케이스의 개수로 for 조건문을 돌려줘서 

계속 헤맸답니다ㅠㅠ

테스트 케이스가 O이면 연속 값은 +1을 해주고 결과값은 연속 값을 더해주었고

만약 X값이 나오면 연속 값은 0으로 초기화해주고 결과값에는 0을 더해줬습니다.

 

 

다음 포스팅에서 만나요!!

728x90
728x90