3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

だんだんやる気が。。。

千葉大会の市船の決勝戦、監督が直接審判とやり取りできないからって、キャプテンの子が審判と監督の間を行ったり来たりの板挟み状態で、これは将来立派な中間管理職になれそうですね!
ってか、オリンピックもそうだけど、これだけカメラだったりAIの技術が上がったんだから、誤審して叩かれる人間の審判ってもういらなくね?

あとサッカーの超演技的痛がり方はもはや芸術の域だよね!
あんなに痛がってたのに、数秒で立ち上がってプレー再開できるとか超人なのか?

面倒くさいので画面パタメータをListでもらった後のFunctionだけ

ちなみに引数のListを作ってる箇所はこっちの記事に書いてあるYO!!

umpire.js
// [問題文(原文)]
// 野球の各打者はストライクが 3 つたまるとアウトとなり、ボールが 4 つたまるとフォアボールとなります。
// アウトあるいはフォアボールになると、この打者の番は終了します。
// 
// あなたはストライクとボールを判定してコールする審判です。
// その場の状況に合わせて適切なコールを出しましょう。
// 
// 【コール一覧】
// ストライクが 1 〜 2 つたまったとき → "strike!"
// ストライクが 3 つたまったとき → "out!"
// ボールが 1 〜 3 つたまったとき → "ball!"
// ボールが 4 つたまったとき → "fourball!"
// 
// ある打者の番における投球の結果 (ストライクまたはボール) が与えられるので、各投球に対してどのようなコールをすればよいかを出力してください。
// なお、実際の野球にあっても上記にないルール (ヒット、ファウルなど) については考慮する必要はありません。
// 
// 
// 1 球目: ボール → "ball!"
// 2 球目: ストライク → "strike!"
// 3 球目: ボール → "ball!"
// 4 球目: ストライク → "strike!"
// 5 球目: ストライク → "out!"
// 
// 5 球目では、ボールが 2 つ、ストライクが 3 つたまったのでこの打者はアウトとなります。
// これは、入力例 1 に対応しています。
// 
// 
// 1 球目: ボール → "ball!"
// 2 球目: ストライク → "strike!"
// 3 球目: ボール → "ball!"
// 4 球目: ボール → "ball!"
// 5 球目: ストライク → "strike!"
// 6 球目: ボール → "fourball!"
// 
// 6 球目では、ストライクが 2 つ、ボールが 4 つたまったのでこの打者はフォアボールとなります。
// これは、入力例 2 に対応しています。
function umpire(lines) {
  // 入力は、以下のフォーマットで与えられます。
  // 
  // N
  // s_1
  // s_2
  // ...
  // s_n
  // 
  // 1 行目に合計の投球数を表す整数 N が与えられます。
  // 続く N 行のうち i 行目 (1 ≦ i ≦ N) に i 番目の投球の結果を表す文字列 s_i が与えられます。i 番目の投球がストライクであれば s_i は "strike"、ボールであれば "ball" となります。
  // 入力は合計で N + 1 行からなり、入力値最終行の末尾に改行が1つ入ります。
  if (!Array.isArray(lines) || lines.length < 4 || lines.length > 7) {
    console.log("4~7行以上入れろや!");
    return;
  }
  // 投球数
  const throwCnt = Number(lines[0]);
  if (isNaN(throwCnt) || !Number.isInteger(throwCnt) || throwCnt < 3 || throwCnt > 6) {
    console.log("投球数は3~6の数値入れろや!");
    return;
  }
  // 各投球に対する適切なコールを以下の形で出力してください。
  // 
  // c_1
  // c_2
  // ...
  // c_N
  // 
  // 期待する出力は N 行からなります。
  // N 行のうちの i 行目 (1 ≦ i ≦ N) に問題文の条件に即して打者へのコールを表す文字列 c_i を "strike!", "ball!", "out!", "fourball!" のいずれかで出力してください。
  const count = [0, 0];
  lines.slice(1, throwCnt + 1).forEach((throwResult) => {
    let call = "";
    if (throwResult === "strike") {
      count[0]++;
      call = count[0] === 3 ? "out!" : "strike!";
    } else if (throwResult === "ball") {
      count[1]++;
      call = count[1] === 4 ? "fourball!" : "ball!";
    }
    console.log(call);
  });

}

module.exports = {
  umpire
};

なんかもっといい感じに書けそうな気がするけど、とりあえず仕様通りに動くやつ。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?