Python/Baekjoon
백준 8958번 문제 풀이 - 공부하는 도비
DOVISH WISDOM
2020. 12. 4. 16:17
728x90
반응형
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
문제를 풀려고 하니 반복문 중첩을 사용하여야 풀 수 있을 거 같아서 큰 for문 안에 while문을 중첩시켰습니다.
큰 for 문은 가장 처음 입력되는 정수만큼 라인을 입력 받을 수 있다는 것을 의미합니다.
for 문 속 while문이 O의 개수를 세는 부분입니다.
그 중 while문 속 if 문을 통해서 O이 몇 번 연속되는지 알 수 있습니다.
그 값을 count 변수에 저장하고 output 리스트에 넣어둡니다.
OXXOXOOOX 로 예시를 들면,
Output 리스트에는 아래 표 처럼 값이 저장되겠죠?
O | X | O | O | X | O | O | O | X |
1 | 0 | 1 | 2 | 0 | 1 | 2 | 3 | 0 |
Value 변수에 output의 합을 계산하여 저장합니다.
Finally_value 는 5줄의 라인이 입력으로 들어왔다면, 총 5개의 합을 넣어주기 위해 for문이 반복될 때마다 값을 finally_value 리스트에 저장합니다.
마지막 for문은 finally_value를 출력하기 위해 사용되었습니다.
이렇게 8958번 문제를 풀어보았습니다.