Crieitプログラミングチャレンジ

2019-06-22に作成

不定期(可能であれば週1程度)でプログラミングの色々なチャレンジを出題していこうかと思います。よろしければ遊んでみてください。

問題はどなたでも投稿していただいて大丈夫です。

謎解き等の場合のルール

  • 回答を含めたシェアは行わないようお願いします。「できた!」とかであれば是非シェアをお願いします。
  • 回答は各投稿のコメントに行ってください。そこであれば意図的に見に行かないと見えることはないため問題ないと思います。コメントは各投稿の日付をクリックすることでアクセスできます。

アニメや映画の設定をそのままコードにするチャレンジ

アニメや映画にある設定をそのままコードに表現するチャレンジです。

できるだけおもしろい設定を選んでコードにしましょう。

設定とは例えばドラゴンボールで仙豆を食うと体力がMAXまで回復するとか、JoJo4部で仗助が「変な髪型」って言われたらブチ切れるとかの設定のことです。

コードと一緒にYouTubeのリンクかスクリーンショットを貼ると分かりやすいです。

では出題者の私から行きます。

バック・トゥ・ザ・フューチャーです。

Back to the future part 2 'Nobody calls me chicken'

マーティーは「チキン」と言われたらブチ切れます。
つまりMartyクラスにchickenを含む単語を入れるとブチ切れを返します。

class Marty
  def self.input(string)
    if string.include?('chicken')
      Buchigire
    end
  end
end

Screen Shot 2020-01-12 at 14.59.30.png

何かを判定しろ

言語もロジックも目的も自由です。とにかく何かをYes or Noで判定できるプログラムを作ってみてください。Yes or Noでも、好き or 嫌いでも、自由です。

function judge(item) {
  if (item == 'お金') {
    return '良い';
  }
  return '悪い';
}

暗号を解け

下記の文字を用いて答えを導き出せ

cgcnalreldo

(※スマホで閲覧していると分かりにくい可能性があります)

プログラミング言語の予約語しりとり

プログラミング言語の予約語しりとり

どんなプログラミング言語でもいいので、予約語か組み込み関数名だけを使ってしりとり。

じゃあ最初の言葉をいくね。

if

はい、次の人は f からはじまる予約語か組み込み関数。

同じ言葉を言ったり、「ん」で終わる言葉とか次には絶対に続かない言葉を言った人が負け。
とにかく最後の人が負け。
次は f だから絶対になんかあるはずだけど、もしこのまま誰も書いてくれなかったら私の負け!

誕生日から年齢を導き出せ

誕生日を入力されたらそこから年齢を計算してください。

入力される誕生日の形式は自由に決めて構いません。また、利用する言語も自由です。

色々とユニークな方法を考えてコメントしてみてください。

例)

function birthday2age(birthday) {
  const parts = birthday.split(/-/)
  const today = moment()
  if (today.format('MMDD') < parts[1] + parts[2]) {
    return today.year() - Number(parts[0]) - 1
  } else {
    return today.year() - Number(parts[0])
  }
}

birthday2age('2000-06-01')

秋山が何人登場しているか調べろ!

「秋山」という名前が何回登場しているか調べてください。横(左から右)と縦(上から下)について調べて回答してください。

50x50の2500文字ありますので読んで調べるのは辛いですが、プログラムだと文字数は関係ないので楽ですね。

回答は数値だけで大丈夫ですが、良さそうなプログラムが出来たら是非見せてください。

一応答えはコメントしてありますがまだ正しいかが分かりません……。

田田山山秋田秋山山山秋山田山田秋山秋山秋秋山田秋秋田田山田秋秋秋山山山田山田山秋秋秋秋山秋田田山秋秋
山田秋田山秋田山秋秋田山山山山秋山田山田秋田山山山山秋田田山山秋田山秋田田秋秋秋田山秋秋山秋田秋田山
山山田秋山田田田秋秋山田田秋秋山秋田秋秋田秋秋山秋秋秋秋田田田田秋田山山秋秋山秋山田秋田秋田田秋山秋
秋山秋山山秋山田田田秋田山秋田秋山秋田田山秋山山山山山田田山山秋山山秋秋田田山山田山秋田秋山田山秋田
田秋秋秋田秋山田山田秋山山山田秋山秋秋山山秋田田秋山山秋秋田山田山山山秋秋秋山田田秋田田山田秋田秋山
山秋秋山山秋秋秋山田秋田秋田田田山秋秋山田秋秋山田秋山田山山山秋田秋田秋田田田秋山秋山山秋山秋秋秋田
山山秋秋田秋山秋山山田田山秋秋秋山山田秋田秋田田山秋秋山山山秋山山山田秋田秋田秋秋田田秋秋秋山田田秋
山田田山秋田山秋田秋山秋田秋田田秋秋山山山山秋山山山田秋田田秋田秋山山田秋田秋田田秋山田秋山秋秋山秋
秋田田山山田田田田山田田秋田山山山秋秋秋山秋秋秋田山秋山山山山秋山山田山秋秋秋山山秋山田山秋山秋秋秋
山秋田秋田山秋山山秋田田山田田田田田山山秋秋田田山田山秋秋山秋山山秋秋秋田田秋田田田秋秋秋秋秋田秋秋
山田山秋田山田山秋山秋山秋山秋秋山田山秋田田田山秋山田田田田田山山秋秋秋田山山山田山田田秋田山山山田
田秋田山山田秋山秋秋秋秋秋田山山山山山山田田秋山田田秋秋田山山秋田山秋山田秋田田秋秋田田田田秋秋山山
秋田山山秋秋秋秋田山秋秋山山秋田山秋山秋山田秋田秋田田山秋山田田田田山田山田秋秋秋秋田秋秋田山秋秋山
秋田山秋山秋山秋秋田田田秋秋山山秋秋山秋山秋秋秋田秋山秋山秋田山秋山田田田田秋秋山秋山田田秋山秋田山
田田山山田田山山田山秋山秋秋秋山秋秋山田山山田田秋田山田田秋田田秋山秋山田田秋山田秋秋山田秋田秋秋山
秋秋山田秋秋山秋田山田山秋秋山秋山山山山田山山山秋秋田秋秋山山秋秋秋山山山山秋山田山田山秋田田田田山
秋山山秋秋山田山山山秋山山秋秋秋田秋山山山田田秋山山田山田山田田田山田山秋田田山田田田山山秋秋田秋山
秋山秋山山田山秋秋田田秋山山田秋秋秋田秋山秋山山山田山秋山山秋秋秋秋秋山田秋田山秋秋山秋田秋田山山秋
秋田秋田田秋秋田山田田田秋山秋秋田秋秋秋田田山山秋秋秋秋秋田山秋田秋田秋山田山山山秋山田田秋山山秋秋
田山田山山山山田山秋山山山山山山田田田山山田山山秋秋山秋秋秋田田田山山山山秋田秋秋山秋秋田秋秋田秋山
秋秋秋田秋山秋田秋田山田山田山山秋秋田田田秋田秋田田秋山秋山秋秋山秋山秋山秋田田山田田田田田秋山田山
田田秋山田山山山秋山秋山秋山田山田秋山山山田秋田田山秋秋秋秋秋田山田秋田秋秋秋山山秋山秋秋山山田田秋
田田田田山秋田山秋秋田田田山秋田山秋山山秋田秋山山山秋山秋山山山秋山秋田田秋田田田秋山秋山田山田田秋
田田田田田田秋秋田山秋山山田秋田田山山秋田秋田山秋田田秋山山田秋田山秋秋秋山山秋秋山田秋山秋田田山田
秋山山山秋田秋秋田田秋田田山秋山秋山秋山秋田山田田田秋田田秋山田田田秋秋田田田田田秋田山田山秋田秋山
田秋山山秋山山秋田秋秋秋秋山山田秋山秋山山秋山山田山山山秋秋秋秋山秋秋田田田秋山秋山田秋山田田田秋田
田山田山秋秋田田秋田田田田田山田田田田山秋山山山山田秋田秋秋山田秋山秋山山田田秋秋田山田秋山田田田秋
田田山田山田田秋田山山山田田秋山山秋山秋山山秋秋山田田田田田田山山田秋秋田山山秋秋秋田秋秋秋田山田田
山田山山山山田山秋田山山秋秋秋田山山山山秋田田秋秋秋山田山山山山秋田田秋秋秋秋田秋田秋田山田田山秋山
田秋秋秋山秋田山山秋秋山田田山田田秋田山田秋山山田秋山秋山秋秋山山田秋山田秋山山田秋田秋田山山山田山
山山秋山田田秋山秋秋秋秋田秋秋山田山秋山山山田田田山山田山田山田山田田田山田山田田田田山田秋秋山山秋
山田田秋田秋田山田山田秋秋田秋秋秋山秋秋山秋山田山田山田田田秋山田秋秋田田秋田田秋山山田田秋田田田田
田秋田田秋田秋田田田山山秋田秋秋山山山田田山田田秋山山秋秋秋田田田秋田山田秋田田秋山秋田田山田田山山
秋山田山山田秋山山田秋山秋秋田山田山秋田山山山田田山山田秋田山田田山山田田秋田秋山秋山山田秋山秋山田
山山秋田秋田秋山山田田山秋秋山山田山秋秋山秋秋田山山秋田秋秋秋山山山山秋田田山山秋秋山山秋田秋秋秋山
秋田秋秋秋秋田田山山山山田秋山秋山田田山田田秋秋田秋田山田山山秋田田山山田山山山秋山田山田秋秋田山山
田田田秋田田田山田田田秋田秋秋山田田田田秋山田秋秋田山秋秋田山秋秋田秋秋田山田山山山田秋秋田田秋秋秋
田秋山秋山山山田山山田秋秋山山山田田秋秋田山山秋秋田秋田山秋秋田田田秋田秋秋山秋山秋田秋田秋山秋秋秋
秋田山山山秋秋山秋田田山秋秋田秋秋田秋山山山田秋田秋秋田秋田山田田田山田山秋田秋田田山山山秋秋山田秋
田山山山秋秋田山山山秋田田田秋田田田田山山秋山秋秋山田秋田田秋秋秋山田秋田田田田山秋田田山秋田秋田田
田秋田田秋山山山田山山山山秋山秋田秋秋山山山田田秋田秋秋秋田田秋秋山秋秋山山秋田田田秋秋田山秋田田山
田田山田秋秋秋秋秋田秋秋山山山山山秋秋秋田山秋田田田秋田山秋山山秋秋田秋田田田田山秋秋秋秋田田秋秋山
秋山田田田秋秋秋田田秋山山山秋田田秋田山山田秋秋秋田田田山山田秋秋山山山田田秋秋山田秋田田田田秋田山
田山秋秋田山田山秋田山山田秋秋山田田山秋山秋秋田田山秋秋山山山田山山山秋秋田秋秋田田秋田秋山秋田秋秋
田田田田田田田秋秋秋田秋山秋山田山秋田秋田山秋秋秋山田山田秋秋秋田秋田田山田山秋山田山秋山田秋山秋田
秋田秋秋秋山秋秋秋秋山山田山秋秋秋田山秋田秋田田田田秋山秋秋秋田山秋山秋山田秋田秋秋秋山田秋田山秋山
秋山山山秋秋山山田秋秋田秋田山田田田山秋秋山田秋秋秋田田秋山秋田山田山田山秋秋秋山秋山山山田秋山山山
山秋山山山山秋田秋秋田田山田山山山山山山田山田秋山秋秋田秋秋山山田山田山田山山秋山秋田秋秋田山田田田
秋山山秋秋山田山秋田山山田田田山田山山山秋田秋秋秋山秋山田山田山秋秋田山秋田田秋田田山田山秋田秋秋山
山山秋山山山山秋田山田田秋秋山田秋田秋山秋山秋秋秋田山山田田秋秋田田秋秋秋田田田田山田山秋秋田山田田

入力された数字が奇数なら0を、偶数なら1を出力しろ!

良くある問題ですね。あまりにも簡単なので、一番良くありそうな解法を例として1つ載せておきます。これ以外のアイデアで解いてみて!

function solve(num) {
    return (num + 1) % 2;
}

入力された数値をその回数繰り返した文字列を返せ

たとえば3を入力したら333、5を入力したら55555と返すプログラムを書いてください。言語も発想も問いません。まだ回答されていないものであればどんな変なものでも良いので自由な発想でどんどん投稿をどうぞ!

例)

function repeatNumber($n) 
{
    $answer = '';
    for ($i = 0; $i < $n; $i++) {
        $answer .= $n;
    }
    return $answer;
}

下記の言葉から答えを導き出せ。ヒントは「2」

サチオパチブガキ

ルール

  • 回答を含めたシェアは行わないようお願いします。「できた!」とかであれば是非シェアをお願いします。
  • 回答は各投稿のコメントに行ってください。そこであれば意図的に見に行かないと見えることはないため問題ないと思います。コメントは各投稿の日付をクリックすることでアクセスできます。

0を入れたら1を返せ!

0を入れたら1を返すコードを書け

0を入れたら1を返す、ただそれだけのコードを書いてくれ。プログラミング言語はなんでもいい。いろんな発想のをくれ。

例)

def challenge(input)
  if input == 0
    return 1
  end
end

0を入れたら1を返す以外は何も要らない。ファンシーでセクシーなことなんかは求めていない。
5を入れた場合は?エラーハンドリングは?例外処理は?これらは全部無視でいい。

ただ0を入れたら1を返してくれ。

できるだけたくさんの発想のコードをくれ。同じのは2つと要らない。上記の例で示したif文で分岐するのはもう要らん。

JavaScriptにして input === 0 と = を3つ重ねだだけ、とかやめてくれよ。発想は同じだから、ダメだ。

たぶん発想をひねれば数はかなり出てくるはず。

健闘を祈る。

事前に このボードの説明 も読んでください。

下記の問題を問いてください。

  • 回答とコードのセットをコメントしてください。

See the Pen Crieit - Challenge1 by dala00 (@dala00) on CodePen.

Edit on CodePen するとやりやすいと思います。