条件分岐メニュー 【単純な条件分岐・数値の分岐・数値演算結果で分岐・ゼロ以外・0が含まれていないか判定】
【STEP: 1】コード
reader.on('close', () => {
const S = lines[0];
if (S === 'paiza') { // S が paiza と一致する場合は
console.log('YES'); // 'YES'を出力
} else { // さもなくば
console.log('NO'); // 'NO'を出力
}
// 三項条件演算子で出力を振り分けた場合
console.log(S === 'paiza' ? 'YES' : 'NO');
});
S が ″paiza″ と一致するか否かで条件分岐しています。
【STEP: 2】コード
reader.on('close', () => {
const N = Number(lines[0]);
if (N <= 100) { // N が 100以下なら
console.log('YES'); // 'YES'を出力
} else { // さもなくば
console.log('NO'); // 'NO'を出力
}
});
N が条件(100以下)に該当するかどうかで条件分岐しました。
【STEP: 3】コード
reader.on('close', () => {
const [A, B, C] = lines[0].split(' ').map(Number);
if (A * B <= C) { // A * B が C 以下なら…
console.log('YES'); // 'YES'を出力
} else { // さもなくば
console.log('NO'); // 'NO'を出力
}
});
掛け算( A × B)の答えが条件に該当するかどうかで 条件分岐しました。
【STEP: 4】コード
reader.on('close', () => {
const N = Number(lines[0]);
if (N) { // N が 0 以外(true)なら
console.log('YES'); // 'YES'を出力
} else { // N = 0 = false なら
console.log('NO'); // 'NO'を出力
}
});
数値の場合 0 または -0 のみ false になるみたいね。
【FINAL】コード
reader.on('close', () => {
const N = Number(lines[0]);
let no_0 = true; // 0 が含まれていなければ true
for (let i = 1; i <= N; i++) {
const A = Number(lines[i]); // 入力値を A に代入
if (!A) { // A の真偽値を反転させた値が true なら
no_0 = false; // no_0 を false で上書き
break;
}
}
if (no_0) { // no_0 が true(0 が含まれていない)なら …
console.log('YES'); // 'YES'を出力
} else { // no_0 が false(0 が含まれている)なら …
console.log('NO'); // 'NO'を出力
}
});
真偽値否定演算子 (!) で真偽値を反転させて条件分岐。他にも色々な方法があると思いますが とりあえず こんな感じで。
コメント