第68回【JavaScript】ゼロ以外、0 が含まれていないか判定

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

はじめに

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

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

日本人は無駄が大好きだなぁ、と感じる。無駄だと思えるような内容のない会議が多い。30 分で終わるのに、予定は 1 時間だから、とダラダラ無駄な議題を続けたりする。おかしい、と声を上げても続いてきた伝統だからと変わることはない。まぁ、このブログが一番無駄だ、と言われると顔が引きつっちゃいます。

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

ゼロ以外 (paizaランク D 相当)

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


入力される値

N

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


期待する出力

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

YES

または

NO

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


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

・ N は -100 以上 100 以下の整数


入力例

5

出力例

YES

ゼロの判定。ゼロってなんだ。ゼロ・・・ゼロ・・・ゼロは得意じゃないなぁ。ゼロの概念を突き詰めると頭がおかしくなりそう。

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 n = Number(lines[0]);
  if (n === 0) {
      console.log('NO');
  } else {
      console.log('YES');
  }
});
Python
N = int(input())
if N == 0:
    print("NO")
else:
    print("YES")

0 が含まれていないか判定 (paizaランク D 相当)

長さ N の数列Aが与えられます。Aの中に 0 が含まれていない場合はYESを、 0 が含まれている場合はNOを出力してください。


入力される値

N
A_1
A_2
...
A_N

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


期待する出力

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

YES

または

NO

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


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

・ N は 1 以上 18 以下の整数
・ A の各要素の値は 0 以上 3 以下


入力例

4
1
2
3
0

出力例

NO

含まれているかどうかの判定。Python は in で出来る。JavaScrip だと、includes が使える。

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 n = Number(lines[0]);
  const A = [];
  for (let i = 1; i <= n; i++) {
      A.push(Number(lines[i]));
  }
  if (A.includes(0)) {
      console.log('NO');
  } else {
      console.log('YES');
  }
});
Python
N = int(input())
A = [int(input()) for _ in range(N)]
if 0 in A:
    print("NO")
else:
    print("YES")

最後に

YES と NO だと、YES 条件を先に書きがちだけれど、そうするとちょっと複雑になるよ、的な問題でしょうか。

ゼロの概念については本当に苦手です。日本語だと、零 % と、ゼロ % に違いがあるとか。同じゼロではないんか、と思う。まぁ、ちゃんと意味を考えると分かりはするのだけれど。じゃあ、ゼロって何? ってなってしまう。

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

Python の第68回はこちら