Hamamatsu.rb #56

作成日:2015/09/09
最終更新日:2020/07/09

Hamamatsu.rb #56

作成日:2015/09/09
最終更新日:2020/07/09

概要

やったこと

CodeKataKata

paiza Online Hackathonの問題を解く

霧島京子の問題を実施しました。

ソース1. 霧島京子の問題
# 無限ループ判定をする関数
#   引数: num     判定する値
#         history 整数値を格納した配列
#         cnt     終了までのカウント値
#   戻値: TRUE    未達のマスである
#         FALSE   既達のマスである
def historyCheck(num, history, cnt)
  history.count.times { |i|
    if (i == cnt)
      break
    end
    if (history[i] == num)
      return FALSE
    end
  }
  return TRUE
end

# 出目がゴールできるか判定する関数
#   引数: num     判定する値
#         tn      マスを表す配列
#                 要素は文字列
#         goal    ゴール
#   戻値: "Yes"   アガり
#         "No"    アガれず
def calc(num, tn, goal)
  if (num > goal) then
    return "No"
  end

  curr = num
  history = Array.new
  history << curr

  i = 0
  while (historyCheck(curr, history, i) && tn[curr].to_i != 0)
    curr += tn[curr].to_i
    i += 1
    history << curr
  end

  # currは0originであるため1加算して判定する
  if (curr + 1 == goal) then
    return "Yes"
  end
  return "No"
end

n = gets.to_i
tn = gets.chomp.split(" ")
m = gets.to_i
m.times { |i|
  dm = gets.to_i
  puts calc(dm, tn, n)
}

LT

Rails5の紹介@k_tachibanaさん

  • スライド
  • APIが追加される
  • SQLの条件文にorが使えるようになった
    • default_scopeは注意が必要
  • templateがないときは204 No Contentになった
    • templateがないときの処理をブロックで書ける
    • ↑はRails5から
  • 私のPCの電源が落ちて情報が飛ぶ...
  • slideshareを見て勉強してください

    mrubyの紹介@risgkさん

  • swestにいってきた
  • mrubyの開発者に話を聞いてきた
    • 当初luaを意識していた
    • フォーラムもある
    • 最近デバガができたらしい
    • luaの代わりにならないと最近感じてきた
  • 使い方を模索しましょう

    RubyKaigi2015

  • RubyKaigiに皆さん行きましょう

感想

CodeKataKataのオンラインハッカソンの問題を解きました。 2チームに別れ、六村リオの問題と霧島京子の問題を解きました。 時間ギリギリまで回答を悩んでしまいました。

@ke_tachibanaさんのLTはRailsを知らない私には難易度が高かったです。 Rails、腰を据えて勉強しないとなぁと思いつつ手を出せていません。

mrubyを以前試したことはあるのですが、組込み用途に使おうにもメモリ 使用量が多すぎる印象です。Linuxが動くボードだとmrubyよりもRubyを 動かしたくなります。何で使うと嬉しいか考えたいです。