プログラミングBlog

PaizaのDランクで苦戦

Dランクくらい簡単でしょうと思ってましたが、何気にはまってしまいました。
Paizaの問題は基本的に公開などしてはいけないのですが、 レベルアップ問題集に関しては公開しても問題ないそうなので苦戦したところをまとめました。

なお、このコーナー内の問題については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。 授業や研修にもご利用いただけますので、ぜひ教材などにもお使いください。

コーディングスキルチェック受験での禁止行為

解いてた問題

足し算(paizaランク D 相当)

aとbを足した数を出力して下さい

入力された値aとbを足した結果を表示する問題

やりたいことの流れ。

  1. 文字列の配列を数値に直す。
  2. 1件目と2件目を足して表示。

書いたコード

mapを使用して新しく数値型の配列を生成後、Reduceで配列の合計値を返却。

var numbers = lines.map(Number).reduce((a, b) => a + b);
console.log(numbers);

提出してみましたが採点結果10点でひどい結果

JavaScriptの標準入力ではまる。

原因はこれ。

※「掛け算」の問題では入力が改行区切りで与えられましたが、今回は半角スペース区切りで与えられます。

標準入力のパターン

改行型

1
1
reader.on('line', (line) => {
  lines.push(line);
});

連続型

11
reader.on('line', (line) => {
  input_lines = line.split(" ")
});

今回の場合は連続型パターンを使わないといけない。
問題はよく読みましょう

参考サイト

qiita.com