条件分岐メニュー【AND・大文字判定・OR・NOT・AND+NOT・AND+OR】
【STEP: 1】コード
reader.on('close', () => {
const [A, B] = lines[0].split(' ').map(Number);
if(A >= 10 && B >= 10){ // A が10以上で 且つ B が10以上であれば…
console.log('YES'); // 'YES'を表示
}else{ // さもなくば…
console.log('NO'); // 'NO'を表示
}
// 三項条件演算子で出力を振り分けた場合
console.log(A >= 10 && !(B >= 10) ? 'YES' : 'NO');
});
&& で「且つ」って意味ですね。
【STEP: 2】コード
reader.on('close', () => {
const C = lines[0];
const C_upper = C.toUpperCase(); // C を大文字に変換
if (C === C_upper) { // C と C_upper が一致すれば…
console.log('YES'); // 'YES'を表示
} else { // さもなくば…
console.log('NO'); // 'NO'を表示
}
});
toUpperCase()で Cを大文字に変換して 元の値と比較しています。元の値が大文字の場合 (C===C_upper) は true を返してくれます。
【STEP: 3】コード
reader.on('close', () => {
const [A, B] = lines[0].split(' ').map(Number);
if (A >= 10 || B >= 10) { // A が10以上 または B が10以上であれば…
console.log('YES'); // 'YES'を表示
} else { // さもなくば…
console.log('NO'); // 'NO'を表示
}
});
|| で「または」って意味ですね。
【STEP: 4】コード
reader.on('close', () => {
const X = Number(lines[0]);
if (!(X >= 10)) { // A が10以上でなければ…
console.log('YES'); // 'YES'を表示
} else { // さもなくば…
console.log('NO'); // 'NO'を表示
}
});
! で 真・偽 を反転させています。
【STEP: 5】コード
reader.on('close', () => {
const [A, B] = lines[0].split(' ').map(Number);
if (A >= 10 && !(B >= 10)) { // A が 10以上 かつ B が 10以上ではない場合…
console.log('YES'); // 'YES'を表示
} else { // さもなくば…
console.log('NO'); // 'NO'を表示
}
});
B の 真偽値 のみ 反転させています。
【FINAL】コード
reader.on('close', () => {
const [X, Y, Z] = lines[0].split(' ').map(Number);
if ((X >= 10 && Y >= 10) || Z >= 10) {
// (Xが10以上 かつ Yが10以上)または(Zが10以上)なら…
console.log('YES'); // 'YES'を表示
} else { // さもなくば…
console.log('NO'); // 'NO'を表示
}
});
条件式が長くなりました。問題文の指示通りにすると こんな感じ…。
コメント