728x90
반응형
문제 출처:https://www.acmicpc.net/problem/8958
풀이:
n = int(input()) # 테스트케이스 입력받음
for i in range(n):
a = input() #한줄 받아옴
sum = 0 #합 0 으로 선언
sumpoint = 0 #연속된 합 0 으로 선언
for j in a:
if j == 'O': # o 가 연속되면 1씩 더해줌
sumpoint += 1
else: # x 가 나오면 0 으로 만듦
sumpoint = 0
sum += sumpoint
print(sum)
다른 분 풀이:
import sys
n = int(input())
for i in range(n):
ans = sys.stdin.readline().rstrip()
res = 0
for j in ans.split('X'):
k = j.count('O')
res += k*(k+1)/2
print(int(res))
#print(ans.split('X')) #출력하면>> ['OO', '', 'O', '', 'OOO']
for j in ans.split('X'): #['OO', '', 'O', '', 'OOO']
k = j.count('O') # 2,0,1,0,3
res += k*(k+1)/2 # res = 3 + 0 + 1 + 0 + 3 = 10 출력
대단한거같다,,
출처:백준알고리즘 nozomu2002 님 소스
반응형
댓글