백준 8958: ox퀴즈 | 파이썬

유경의 공부방·2022년 3월 24일
0

python

목록 보기
5/13

문제

"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해준다

0개의 댓글