[백준] 8958번: OX퀴즈

링크

https://www.acmicpc.net/problem/8958

 

 

[문제]

problem_8958

 

 

[풀이]

핵심

  • 'O'라는 문자가 전에 몇 번이 연속 되어 나왔는지 파악해야 한다.

 

  1. pre_score라는 변수를 통해서 이전 'O'문자가 몇 번 나왔는지 카운트 한다.
  2. 그 후에 total_score변수에 퀴즈 점수를 합산한다.
  3. 문자열을 순회하다 'X'문자가 나오게 되면 pre_score의 값은 0으로 초기화 시켜 준다.

 

 

[코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 8958번(OX퀴즈)
T=int(input())
for _ in range(T):
    quiz=input()
    total_score=0
    # 연속된 'O'문자를 저장.(처음에는 0으로 시작한다)
    pre_score=0
    for s in quiz:
        if s =='O':
            pre_score+=1
            total_score+=pre_score
        else :
            pre_score=0
    print(total_score)
cs

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2884번: 알람 시계  (0) 2020.11.25
[백준] 1920번: 수 찾기  (0) 2020.11.25
[백준] 9012번: 괄호  (0) 2020.11.24

+ Recent posts