728x90
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 |