第70回【JavaScript】OR、NOT

現在取り組んでいるのは、paiza ラーニング問題集「条件分岐メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

JavaScript をゼロから勉強してみよう、のコーナー 70 回目です。

LeoSaki(旦那)は、のめり込んでしまうタイプなので、何か作業を始めると、周りが見えなくなる傾向にあります。いろいろと失敗をしてきた中で学んだこと。時間を決めて、定期的に立ち上がる。たったこれだけで、見通しが良くなるものです。

それでは、今日も頑張ってみようと思います。

OR (paizaランク D 相当)

2 つの整数A、Bが与えられます。A, B の少なくとも一方が 10 以上の場合はYESを、そうではない場合はNOを出力してください。


入力される値

A B

入力値最終行の末尾に改行が1つ入ります。


期待する出力

YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。

YES

または

NO

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

・ A, B は 1 以上 20 以下の整数


入力例

5 10

出力例

YES

AND のときと同じ。Or なのか or なのか OR なのか || なのか。

JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');

var lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});
reader.on('line', (line) => {
  lines.push(line);
});
reader.on('close', () => {
  const [a,b] = lines[0].split(/\s/).map(Number);
  if (a >= 10 || b >= 10) {
      console.log('YES');
  } else {
      console.log('NO');
  }
});
Python
A,B = map(int,input().split())
if A >= 10 or B >= 10:
    print("YES")
else:
    print("NO")

NOT (paizaランク D 相当)

整数Xが与えられます。Xが 10 以上ではない場合はYESを、Xが 10 以上である場合はNOを出力してください。


入力される値

X

入力値最終行の末尾に改行が1つ入ります。


期待する出力

YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。

YES

または

NO

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

・ X は 1 以上 20 以下の整数


入力例

5

出力例

YES

言い換えれば X が 10 未満である場合は・・・とか野暮なことは言わない。

JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');

var lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});
reader.on('line', (line) => {
  lines.push(line);
});
reader.on('close', () => {
  const x = Number(lines[0]);
  if (!(x >= 10)) {
      console.log('YES');
  } else {
      console.log('NO');
  }
});
Python
X = int(input())
if not X >= 10:
    print("YES")
else:
    print("NO")

最後に

Not がなっとく(!)出来ない。confusing use of '!’ が発生します。ただ、ちゃんとこれでも正解となる。調べてみると、これに関する議論はあるようでしたが、だから何が正解かまでは分からなかった。

Not はなんだかんだで使う場面が出てくることがあるので、もう少し詳細に調べて、きちんと理解して書けるようになっておこうと思いました。

引き続き、よろしくお願いいたします!

Python の第70回はこちら