競技プログラミング入力メモ(Java)
友達の影響で競技プログラミングにちょっとばかりハマっている
Javaで挑むに当たり入力でよく戸惑うのでメモ(随時更新)
入力
原則nextを用いて、パースする。
nextIntとかよりnextからのパースのほうが早い。
Int
Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.next());
char[](文字列を1文字ずつ分割)
Scanner sc = new Scanner(System.in); char[] c = sc.next().toCharArray();
Scannerは実行速度が遅いらしいが、
今のレベルでscannerがボトルネックになるような問題には出くわしていない。
自作で入力用ライブラリを作成するのが一番早いが、
そこまでガチ勢じゃないのでそういう問題に出くわしたら、またちゃんと勉強する。
参考:
入出力 - てきとーな日記
↑の記事を少し噛み砕いた記事
Javaで競技プログラミングをするときの罠とテク - Qiita
なお、Scannerをよくcloseし忘れるので、入力の最後にちゃんとcloseする
sc.close();