第69回【JavaScript】AND、大文字判定

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

はじめに

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

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

時間指定のある作業は緊張感が増します。それまでにしっかり準備をしているつもりでも、不安は拭えません。最終準備を 10 分前までに終わらせ、すぐにトイレに行き、時間まで最後の見直しをする。自分の中の決め事です。

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

AND (paizaランク D 相当)

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


入力される値

A B

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


期待する出力

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

YES

または

NO

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


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

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


入力例

12 10

出力例

YES

よくごちゃごちゃになる。And なのか AND なのか and なのか & なのか。

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 and B >= 10:
    print("YES")
else:
    print("NO")

大文字判定 (paizaランク D 相当)

大文字または小文字のアルファベットCが与えられます。Cが大文字の場合はYESを、そうではない場合はNOを出力してください。


入力される値

C

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


期待する出力

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

YES

または

NO

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


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

・ C は アルファベット大文字または小文字


入力例

A

出力例

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 c = lines[0];
  if (isUpperCase(c)) {
      console.log('YES');
  } else {
      console.log('NO');
  }
});
const isUpperCase = str => {
  const A = 'A'.charCodeAt();
  const Z = 'Z'.charCodeAt();
  const code = str.charCodeAt();
  return code >= A && code <= Z;
};
Python
C = input()
if ord("A") <= ord(C) <= ord("Z"):
    print("YES")
else:
    print("NO")

最後に

やっていることは Python と変わらないのだけれど、複雑に見えてしまう。けれど、きちんと関数化してみると、JavaScrip っぽく見えて素敵。

参考にさせていただきました。大変勉強になりました。ありがとうございます。

自分でさくさくとこのくらい書けるようになるのが、とりあえずは目標だなぁ。

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

Python の第69回はこちら