白駿8958号:OXテスト
白駿8958号:OXテスト
質問する
質問する
「OOXOXXOOO」というOX問答の結果がありますOは質問に答えたが,Xは間違った質問だ.問題が発生した場合、問題のスコアは問題に接続されたOの数になります.例えば、10番の問題の点数は3です.
「OOXOXOOO」の点数は1+2+0+1+0+1+2+3=10点です.
OXテストの結果が得られたら、得点プログラムを作成してください.
例
(入力)
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
(出力)
10
9
7
55
30
コード#コード#の中間に現れるO群の値をn(n+1)/2(n=Oの個数)とすることを試みたが,より簡単な方法が見出された.
質問する
質問する
「OOXOXXOOO」というOX問答の結果がありますOは質問に答えたが,Xは間違った質問だ.問題が発生した場合、問題のスコアは問題に接続されたOの数になります.例えば、10番の問題の点数は3です.
「OOXOXOOO」の点数は1+2+0+1+0+1+2+3=10点です.
OXテストの結果が得られたら、得点プログラムを作成してください.
例
(入力)
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
(出力)
10
9
7
55
30
コード#コード#
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T) :
ox = input()
temp_score = 0 # O그룹의 값을 저장하는 임시변수
score = 0
for i in range(len(ox)) :
if ox[i] == 'O' :
temp_score += 1
score += temp_score
elif ox[i] == 'X' :
temp_score = 0
print(int(score))
コメントReference
この問題について(白駿8958号:OXテスト), 我々は、より多くの情報をここで見つけました https://velog.io/@ryong9rrr/백준-8958번-OX퀴즈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol