条件分岐メニュー【3の倍数判定・2つの倍数判定・偶奇の判定・曜日の判定・ FizzBuzz】
【STEP: 1】コード
reader.on('close', () => {
const N = Number(lines[0]);
console.log(N % 3 ? 'NO' : 'YES'); // (条件 ? trueで実行 : falseで実行)
});
三項条件演算子で出力を振り分けています。3で割った余りが0(false) なら ″YES″ で 1または2 (true) なら ″NO″ になります。
【STEP: 2】コード
reader.on('close', () => {
const N = Number(lines[0]);
console.log(N % 3 || N % 5 ? 'NO' : 'YES'); // (条件 ? trueで実行 : falseで実行)
});
3 と 5 で割った余りのどちらか一方でも true (1〜4) なら ″NO″ です。
【STEP: 3】コード
reader.on('close', () => {
const N = Number(lines[0]);
const A = lines[1].split(' ').map(Number);
let [even, odd] = [0, 0]; // 出力値(偶数の数,奇数の数)を 0 で初期化
for (let i = 0; i < N; i++) {
const a = A[i];
a % 2 ? odd++ : even++; // a % 2 が 1 なら odd++ : 0 なら even++
}
console.log(even, odd);
});
a % 2 が false なら偶数 ・true なら奇数。
【STEP: 4】コード
reader.on('close', () => {
const X = Number(lines[0]);
const D = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sat'];
console.log(D[( X - 1) % 7]);
});
曜日名のパターンを配列にして (X – 1) % 7 の値で出力を振り分けました。
【FINAL】コード
reader.on('close', () => {
const N = Number( lines[0]);
if (!( N % 3) && !( N % 5)) {
console.log('FizzBuzz');
} else if (!( N % 3)) {
console.log('Fizz');
} else if (!(N % 5)) {
console.log('Buzz');
} else {
console.log(N);
}
});
条件の演算が 0 になった時 true を返すように (!) で 値を反転させています。
コメント