Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

プログラミングお題 - しがない問題 - Ruby #しがないラジオ

f:id:tbpg:20161105051712p:plain

しがないラジオ というポッドキャストがあるのですが、
「しがない」は

SIerのSEからWEB系のエンジニアに転職したが楽くて仕方がないラジオ」

の赤字部分の略です。
凄い中途半端な部分をあえて略していて面白いな、と思ったのでプログラムのお題にしてみます。

お題にしておきましたので、はてなブログの方はお題として作成するとリストにのります。
タイトルに言語名を入れておくとリストで並んだときにわかりやすい。

お題「しがない問題」

仕様

  • 100回入力が与えられます
  • 入力は「しくてがない」から4文字がランダムに与えられます
    • ※「楽しくて仕方がない」に含まれる平仮名です
  • 100回ループするまでに「しがない」が現れたら以下を出力します

第N回SIerのSEからWEB系のエンジニアに転職したが楽しくて仕方がないラジオ、略して「しがないラジオ」

Nにはループカウントが入ります(1回目のループは0ではなく1とする)

  • 100回ループするまでに「しがない」が現れなかったら以下を出力します

「Titleラジオ」ちゃうやん

Title には100回目のループ時のタイトルが入ります

サンプルコード

Ruby で書いてみます

shiganai = "しくてがない"

cnt = nil
title = ""
100.times {|i|
  abbreviation = shiganai.chars.shuffle.first(4).join
  title = abbreviation
  if abbreviation == "しがない" 
    cnt = i
    break
  end
}
if cnt
  puts "#{cnt + 1}回SIerのSEからWEB系のエンジニアに転職したが楽しくて仕方がないラジオ、略して「しがないラジオ」"
else
  puts "#{title}ラジオ」ちゃうやん"
end
  • 出力例
$ruby shiganai.rb
「てしいくラジオ」ちゃうやん
$ruby shiganai.rb
「がしくなラジオ」ちゃうやん
$ruby shiganai.rb
「しいてなラジオ」ちゃうやん
$ruby shiganai.rb
第7回SIerのSEからWEB系のエンジニアに転職したが楽しくて仕方がないラジオ、略して「しがないラジオ」
$ruby shiganai.rb
「いなしがラジオ」ちゃうやん
$ruby shiganai.rb
「してながラジオ」ちゃうやん
$ruby shiganai.rb
「しくいてラジオ」ちゃうやん
$ruby shiganai.rb
「くてながラジオ」ちゃうやん
$ruby shiganai.rb
「てないしラジオ」ちゃうやん
$ruby shiganai.rb
「いくてがラジオ」ちゃうやん
$ruby shiganai.rb
第61回SIerのSEからWEB系のエンジニアに転職したが楽しくて仕方がないラジオ、略して 「しがないラジオ」

補足

私はしがないラジオの中の人とは特に関係ない1リスナーです

関連情報

shiganai.org