문제
"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을 더해줬습니다.
다음 포스팅에서 만나요!!
'Language > Python' 카테고리의 다른 글
(파이썬) 백준 10988 : 팰린드롬인지 확인하기 (0) | 2019.08.27 |
---|---|
(파이썬) 백준 2476 : 주사위 게임 - 컴도리돌이 (0) | 2019.08.27 |
(파이썬) 백준 2884번 : 알람 시계 - 컴도리돌이 (0) | 2019.08.25 |
(파이썬) 백준 1789 : 수들의 합 - 컴도리돌이 (0) | 2019.08.22 |
(파이썬) 백준 10817번 : 세수 - 컴도리돌이 (0) | 2019.08.22 |