yukicoder始めました

久々の投稿になります。 さて、最近の私の暇つぶしが「競技プログラミングをする」になっています。と言っても始めたばかりですが・・・。 少し空いた時間にでも問題を眺めて思考を凝らしています。

オンラインで競技プログラミンが楽しめるWEBサイトはいくつかありますが、現在私が利用させていただいているのは yukicoder というサイトです。Githubのアカウントがあれば利用が可能です。
利用できるプログラミング言語はとても幅広く、C++Java等のメジャーな言語からWhitespace等コアな言語まで様々です。

今回私はJavascriptで挑戦する事にしました。よく使うというだけで特に理由はありません。でも多分Javascript競技プログラミングには 向いてないと思うので、厳しくなったら言語をチェンジかもしれません。問題を解いてて困ったりしたことがあったら時々ここに投稿していくつもりです。

で早速ですが、Nodeの標準入力で詰まってました。普段使わないと分かりませんよね。方法は以下の通り。

let input = require('fs').readFileSync('/dev/stdin', 'utf8').split('\n')

requireファイルシステムモジュールを使用します。同期読み取りのreadFileSyncで標準入力(/dev/stdin)を指定し、文字コードにUTF8を設定します。これで入力の全てを取得できるので、最後にsplitを使って改行コードで分割します。分割した配列の最後の要素は空白になるので注意してください。

いまいまは難易度の低い問題から1日1問で競技プログラミング慣れて行こうと思います。