N 行の読み込みとエッジケース
行をループし、末尾の空白を処理します
「N 行の読み込みとエッジケース」はCoddyKit上の無料Coding Interview Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCoding Interview Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Coding Interview Prepコースには全4レッスンが含まれています。
Nの後にN行続く形式
典型的な入力形式では、まず個数Nが与えられ、その後にN行のデータが続きます。個数を読み、正確にN回ループします。
最初に個数を読む
最初の行を取り出し、int()で整数に変換します。その数によって、あと何行読むかが決まります。
n = int(input())N回だけ正確にループする
range(n)を使うと、問題文で指定された行を多すぎず少なすぎず、正確に読み取れます。
for _ in range(n):
line = input()行をリストに集める
後で処理できるよう、読みながら行を集めます。リスト内包表記を使えば、すっきりと1行で書けます。
rows = [input() for _ in range(n)]末尾の空白を削除する
見えない空白や改行が比較を壊すことがあります。各行を使う前に .strip() を呼び出して、不要な文字を取り除いてください。
line = input().strip()空行に注意する
空行は strip 後に "" になります。空行をスキップするのか、意味のあるデータとして扱うのかを決めてください。
EOF まで読み込む
個数が与えられない問題もあります。その場合は sys.stdin を直接ループして、入力が終わるまで各行を読み込んでください。
for line in sys.stdin:
process(line)ゼロの場合を処理する
N が ゼロの場合、ループは何もせずに終了する必要があります。その後のコードでも有効な答えが出力されることを確認してください。
読み込みの境界ずれを避ける
1 行少なく、または多く読み込むのはよくある落とし穴です。入力との位置を合わせるため、ループ回数を N に正確に合わせてください。
トークンは複数行にまたがることがある
read().split() ですべてを読み込むと、改行はなくなります。その場合は入力を、トークンが並ぶフラットなストリームとして扱ってください。
it = iter(sys.stdin.read().split())トークンを1つずつ取り出す
イテレーターを使うと、値が何行に分かれているかを気にせず、必要なときに次のトークンを取り出せます。
n = int(next(it))確認問題
N 行を正確に読み込むと、どのようなリスクがありますか?
復習:N 行と境界ケース
個数を読み込んで N 回ループし、空白を削除し、N=0 と EOF を処理し、読み込みの境界ずれを避けられるようになりました。🧹
よくある質問
「N 行の読み込みとエッジケース」レッスンは無料ですか?
はい。「N 行の読み込みとエッジケース」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Coding Interview Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Coding Interview Prepコースには全4レッスンが含まれています。
「N 行の読み込みとエッジケース」で何を学びますか?
行をループし、末尾の空白を処理します ブラウザで直接実行するハンズオンコードでCoding Interview Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Coding Interview Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCoding Interview Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「N 行の読み込みとエッジケース」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCoding Interview Prepレッスンでコードを書いて実行できますか?
はい。すべてのCoding Interview Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- input() と sys.stdin の対決
- 1 行に並んだ複数の数値を解析する
- 正しい方法でまとめて出力する
- N 行の読み込みとエッジケース