[TIL]10月20日:Python sys.stdin.readline()
今日からキャンプアルゴリズム週間です.白準10773号題.
ロコド機長の
ヒョンミンがお金を管理するのを手伝う過程で、残念なことにいつも忙しくて、ヒョンはお金を誤って呼ぶ事故をよく犯します.
宰賢は間違った数字を叫ぶたびに0を叫んで、最近の
このようにすべての数字を書いた後の数字の和を知りたい.渽民を助けましょう!
最初の行は整数Kを与える.(1 ≤ K ≤ 100,000)
その後、K行に整数を与えます.整数には0~1000000の値があり、整数が0の場合は最後に書き込まれた数値が消去され、そうでない場合は対応する数値が書き込まれます.
整数が0の場合に消去できることを保証します.
民が最終的に書いた数字とを出力します.最後に書いた数の和は2です.³¹-1以下の整数.
だからグーグルで検索した結果!
1~2行の入力の問題とは異なり、複数行を繰り返し文で入力する必要がある場合、input()で入力するとタイムアウトする可能性があります.
最初の行TestCaseを入力する場合はinput()を使用します.
ただし、複数行の繰り返し入力が受信された場合sys.stdin.readline()を使用してもタイムアウトは発生しません.
リファレンス
だから私が提出したコードに直接適用しました.
大きな違いが見られます.
質問する
ロコド機長の
ヒョンミンがお金を管理するのを手伝う過程で、残念なことにいつも忙しくて、ヒョンはお金を誤って呼ぶ事故をよく犯します.
宰賢は間違った数字を叫ぶたびに0を叫んで、最近の
このようにすべての数字を書いた後の数字の和を知りたい.渽民を助けましょう!
入力
最初の行は整数Kを与える.(1 ≤ K ≤ 100,000)
その後、K行に整数を与えます.整数には0~1000000の値があり、整数が0の場合は最後に書き込まれた数値が消去され、そうでない場合は対応する数値が書き込まれます.
整数が0の場合に消去できることを保証します.
しゅつりょく
民が最終的に書いた数字とを出力します.最後に書いた数の和は2です.³¹-1以下の整数.
最初にコミットされたコード
num_list = []
a = int(input())
for i in range(a):
num = int(input())
if num != 0:
num_list.append(num)
else:
num_list.pop()
print(sum(num_list))
こうして提出しましたが、百俊採点の時間は思ったより長いです.だからグーグルで検索した結果!
1~2行の入力の問題とは異なり、複数行を繰り返し文で入力する必要がある場合、input()で入力するとタイムアウトする可能性があります.
最初の行TestCaseを入力する場合はinput()を使用します.
ただし、複数行の繰り返し入力が受信された場合sys.stdin.readline()を使用してもタイムアウトは発生しません.
リファレンス
だから私が提出したコードに直接適用しました.
sys.stdin.readline()を適用するコード
from sys import stdin
num_list = []
a = int(stdin.readline())
for i in range(a):
num = int(stdin.readline())
if num != 0:
num_list.append(num)
else:
num_list.pop()
print(sum(num_list))
最初に作成したコードとはあまり違いませんが、inputではなくsysです.stdin.readline()を使用しただけです.二人の採点時間を比較する
大きな違いが見られます.
Reference
この問題について([TIL]10月20日:Python sys.stdin.readline()), 我々は、より多くの情報をここで見つけました https://velog.io/@rudwnd33/TIL-10월-20일テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol