足し算 (paizaランク D 相当)
今度は、javaScriptで挑戦しました。
Rubyが完璧とは程遠い中でJavaScriptを勉強し始めたため、若干混ざってしまいます...
こちらの問題はpaizaのスキルチェックDの見本問題集の問題ですので、コードの公開は自由だそうです。
問題を開いて言語を選択した段階で、下記の通りコードが与えられますので、
追記、修正していきます。
process.stdin.resume();
process.stdin.setEncoding('utf8');
// 自分の得意な言語で
// Let's チャレンジ!!
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line); #配列にプッシュしてるのはわかる。
});
reader.on('close', () => {
console.log(lines[0]); #ここは(lines[0]+lines[1])に修正かな?
});
今のコードだと、入力される2つの値を配列に入れてるのはわかるのですが、
1 1 と入力された値をそのまま配列に入れてるので、本当は[1,1]としたいところが[1 1]になっています。
(splitを使って、配列作ればいいのかな。。分からない)
↓
↓
私の解答コード
process.stdin.resume();
process.stdin.setEncoding('utf8');
// 自分の得意な言語で
// Let's チャレンジ!!
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines=line.split(" ").map(Number);
});
reader.on('close', () => {
console.log(lines[0]+lines[1]);
});
JavaScriptで数値化するには...?
受け取った値を整数にしないとと思って浮かんだのは.to_iなのですが、それはRubyでした...
JavaScriptの記述では、Numberを使って数値にするんですね...
以下のコードでは、mapで配列の要素を取り出し、
Numberで数値にしているということですね。
lines=line.split(" ").map(Number);
もう少しRubyが固まってきてからJavascriptを勉強したほうがよかったのかなと思いつつ、、
とにかくどっちも頑張ります!!
ちなみに、RubyのスキルチェックDはクリアできました。(見本問題よりはるかに簡単でした)