0Pricing
Coding Interview Prep · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. input() と sys.stdin の対決
  2. 1 行に並んだ複数の数値を解析する
  3. 正しい方法でまとめて出力する
  4. N 行の読み込みとエッジケース
← Coding Interview Prepに戻る