유니티3D 프로그래밍

백준 단계별로 풀어보리 : 8958번 문제 (OX퀴즈) 본문

Python/백준

백준 단계별로 풀어보리 : 8958번 문제 (OX퀴즈)

tjdgus9955 2021. 9. 9. 19:58

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

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수

www.acmicpc.net

OX문의 갯수를 입력할 변수 num, O의 갯수만큼의 숫자를 셀 count, count 값을 다 더한 값 sum을 선언한다.

 

oxList는 OX문을 저장하는 리스트, sumList는 sum 값을 저장하는 리스트다.

 

num 횟수만큼 반복문을 통해 OX문을 입력받는다

 

oxList의 갯수만큼 반복문을 돌린다. 단순히 num의 횟수만큼 반복하면 되지만 리스트의 길이만큼 돌리겠다는 표현을 했다고 보면 된다.

 

2중 for문을 통해 oxList의 0,1,2,3,4번의 글자들을 하나하나 비교한다.

 

만약 O라면 count값을 +1 시키고 count 값을 sum에 더해준다.

ex)OOXX : 1+2 = 3, count = 0, sum = 3

 

X라면 count값을 0으로 초기화 시켜 주는데 만약 마지막 글자가 O라면 count값이 초기화 되지 않고 다음 글자로 넘어간다.

ex) OXXO = 1 + 1 = 2, count = 1, sum = 2

 

그래서 2번째 for문이 끝나면 sum 값을 리스트에 넣고 count를 초기화 시켜주고 sum 값도 초기화 시켜준다.

 

그 뒤 출력하면 성공.