Algorithm/BAEKJOON
[백준] 8958번 OX퀴즈 파이썬
깡뇽
2022. 3. 8. 00:59
반응형
문자열과 관련된 유형들도 열심히 풀어보려고 한다.
테스트 케이스의 개수를 입력받는다.
테스트 케이스는 O와 X로 이루어진 한 줄의 문자열인데 O의 연속되는 계수만큼 점수를 받는다.
예를 들어, "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이 된다.
8958번 OX퀴즈 풀이
[시도1] 맞았습니다!!
n = int(input())
# 테스트 케이스 반복
for _ in range(n):
scores = [] #초기화
score = 0 #초기화
result = input() #OX퀴즈 문자열 입력
for i in range(len(result)):
# O가 나오면 점수를 1 더해줌
if result[i] == "O":
score += 1
# X가 아닌 O로 문자열이 끝나더라도 score를 scores에 넣어 주기
if i == (len(result) - 1):
for j in range(score):
score += j
scores.append(score)
# O가 나오지 않으면 (X가 나오면) 이전에 O로 적립해둔 score를 scores 배열에 넣기
else:
for j in range(score):
score += j
scores.append(score)
score = 0 # score 초기화
print(sum(scores)) # scores 배열에 저장해둔 점수들 합계
반응형