初心に返って
どんどん、解いていこうね~
これからも解いていく可能性を信じて
まだまだ問題いっぱいあるっぽいので、やろうという気持ちがあるうちに。。。
全問題で共通となるパラメータの取得部分はもうindex.jsに書いてしまって、
処理の部分をmodule化してindex.jsから呼び出すようにしてみた
index.js
process.stdin.resume();
process.stdin.setEncoding('utf8');
const lines = [];
const reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
// paizaで公開されてるサンプルのclose部分で作ったモジュールを呼び出す感じに
reader.on('close', () => {
// require("./mod7").countDivisibleBy7(lines); // 前回更新の7で割れるかな問題のModule
require("./min5").min5(lines); // 今回の最小値ど~れ問題のModule
});
min5.js
// [問題文(原文)]
// 5 つの正の整数が入力されるので、最も小さい数字を出力して下さい。
function min5(lines) {
if (!Array.isArray(lines) || lines.length !== 5) {
console.log("5個の数字を入れろや!");
return;
}
if (!lines.every(line => Number.isInteger(Number(line)))) {
console.log("正の整数を入れろや!");
return;
}
console.log(Math.min(...lines));
}
module.exports = {
min5
};
後からダラダラ更新したくないため、今回ははじめから入力チェックやら何やらを入れてみた!
だいぶスッキリキレイに書けたんじゃなかろうか?
最初For分でグルグル書いてたんだけど、もっとスッキリする書き方ないかなと調べてこっちの方法が見つかったので試しに書いてみました。
いかに短くわかりやすく書くかっていうの大事だよね!