"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다.
"OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다.
OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다.
각 테스트 케이스마다 점수를 출력한다.
n=int(input())
for i in range(n):
oxList = list(input())
score = 0
sum = 0
for ox in oxList:
if ox == 'O':
score += 1
sum += score
else:
score = 0
print(sum)
테스트케이스 개수 n을 입력받는다
for문을 이용해 oxList를 생성하고 list를 입력받는다
미리 oxList를 생성하고 append를 활용하여 list에
넣는 것은 입력값이 한 번에 넣어지기 때문에 안되는 것 같다
이 때 변수 score과 sum을 만들고 초기값을 0으로 지정한다
중첩된 for문을 이용하여 oxList안에 임의의 변수 ox를 설정해준다
ox에서 'O'가 나오면 score에 +1을 해주고 sum 값에도 score을 더해준다
모든 프로그래밍 언어에서 '같다'를 사용할 때는 ==을 쓴다
OX의 'O'는 문자이기 때문에 작은 따옴표롤 사용해야한다
score += 1은 score=score+1
sum+= score은 sum = sum + score이라는 뜻이다
그 밖의 경우일 때는 score을 0으로 하고 print해준다