Python/백준 알고리즘

[BaekJoon/Python] : 백준 8958번 - OX 퀴즈

우준세 2021. 1. 2. 16:49
728x90
반응형

 

이번 포스팅은 www.acmicpc.net/problem/8958에서 푼 것을 토대로 작성했습니다.

1차원 배열의 여섯 번째 문제인 OX 퀴즈입니다.

 

문제.

테스트 케이스를 받고 

OX의 개수를 세어 점수를 매기는 프로그램입니다.

하지만 단순히 O의 개수를 세는 것이 아니라

연속된 O에는 점수를 더 받는 프로그램으로 

예를 들어 OXOOO 라면 1+0+1+2+3으로 계산되어야 합니다.


코딩.

n = int(input())

for i in range(n):
    a = list(input())
    score = 0 
    sum = 0
    for j in a:
        if j == 'O':
            score += 1
        else :
            score = 0 
        sum = sum + score
    print(sum)

저는 처음에 문제를 풀 때 

지난 문제처럼 빈 리스트를 만들고 append로 추가하려고 했지만

list(input())으로 받는 것과 append로 추가한 것이 다른 것을 깨닫고

위의 방법으로 하였습니다

list(input())로 리스트로 입력받고 for문을 하나 더 만들어 

a의 요소들을 조건으로 if문을 만들어 O와 X를 판별하여

점수를 오르게 하였습니다.

score += 1 한 것은 중첩되는 점수를 계산하기 위함이고 

sum을 만든 것은 총점수를 계산하기 위해서 만들었습니다.

 

다음 포스팅으로 찾아오겠습니다 :)

 

728x90
반응형