728x90
8958번: OX퀴즈
"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수
www.acmicpc.net
T = int(input())
for tc in range(T):
tmp_list = input().split('X')
result = 0
for tmp in tmp_list:
if tmp != '':
result += sum(range(len(tmp)+1))
print(result)
결과에서 O가 연속되면 점수가 누적되는 시스템이다.
결과에 X를 기준으로 split하면 각 원소가 O또는 공백이 된다. ex)"OOXXOXXOOO" -> ['OO','','O','','OOO']
이를 사용하면 O가 연속적으로 나온 길이를 구할수 있다. ex) 2번 연속 정답, 1번 정답, 3번 연속 정답
이 길이를 통해서 점수를 구하면 된다. 이 코드는 range와 sum을 사용하여 점수를 구하였다. ex) (1+2)+(1)+(1+2+3) = 10
'STUDY > Algorithm' 카테고리의 다른 글
[백준] 10809 알파벳 찾기 (0) | 2021.02.01 |
---|---|
[백준] 1157 단어 공부 (0) | 2021.02.01 |
[백준] 1475 방 번호 (0) | 2021.01.30 |
[백준] 1075 나누기 (0) | 2021.01.30 |
[백준] 2798 블랙잭 (0) | 2021.01.30 |