KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

Atcoder をやってみる

why

難しいと思ってたが、偶数奇数の判定などもあると聞いて興味が出た

base input

qiita.com

dev/stdin

というファイルを作成

test message

と記入

function main(input) {
  console.log(input);
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'))

実行されない....

const fs = require('fs')
function main(input) {
  const contents = fs.readFileSync('/dev/stdin', 'utf8')
  console.log(contents);
}
main()

./folderName/ になってなかった

fs.readFileSync のドキュメントを見る

www.geeksforgeeks.org

フォルダでは無く、ファイルの単一の場所を指定する

dev/stdin というファイルを読む

あっているはずだが...

./ がなかった!!

模範解答は ./dev/ では無く /dev/ になってるのに...

function main(input) {
  console.log(input);
}
main(require('fs').readFileSync('./dev/stdin', 'utf8'))

最初のコードでも ./dev/ にすれば動いた!


偶数奇数判定

dev/stdin

1,1

と書いて

function main(input){
  const args = input.split('')
  console.table(args);
}

main(require('fs').readFileSync('./dev/stdin', 'utf8'));

fs.readFileSync で読み込んだものを split して配列にして出力するとこうなる

f:id:kei_s_lifehack:20210219155107p:plain

こうすることでファイルの文字一つ一つを配列にして読み込めるようだ!

その後1文字ずつ10進数に変換して、掛けた値のあまりが 0 なら偶数、なるほど、これがファイルの判定か