mtsmfm blog

オフラインリアルタイムどう書く E14 の問題 - サイコロできるかな

オフラインリアルタイムどう書く E14 の問題です。

追記: 当日発表中に自分で気づいて懺悔しましたが、ある場合のテストケースが足りずに出題者の回答が特定の状況で誤検出していました。 @Nabetani さんありがとうございます。

問題の概要

でたらめにサイコロの目を印刷した紙がある。 サイコロを作ることができるか答えよ。

入力

5262,4631,2644 のような形式。 数字はサイコロの目。, は行の区切り。 この値の場合上の図のようになる。

出力

true もし...

Read more

転職しました

5月末で永和システムマネジメント を退職し、Quipper に入社してました。

前職は新卒で入社し、学生時代コード書ける方とか思ってたけれど微塵もできないことを突きつけていただいたり、 プログラマとしてのありかた、仕事のやり方など非常に多くのことを学ばせていただきました。

仕事だけでなくコミュニティ面でも多くの刺激を得ることができ、西日暮里.rb とか OSS とかもこの会社にいなければしなかっただろうなぁと思います。

中でも一番影響を受けたのは @tkywtnb さんの「まずは自分...

Read more

SQL マスキングツール Vanir を作った

本番データと同様の分量、分布のデータが欲しいことはよくあるが、 個人情報を含むとそのままコピってくるわけにもいかない。

そこで *** みたいにマスキングする必要があるが、なんかそれっぽいのが見つからなかったのでえいやで作った。

https://github.com/mtsmfm/vanir

名前は某見通す悪魔から。

マスクしたいテーブル名とカラム名の yaml に Go のテンプレート書けばおっけー。

ハッシュ化できるようにしたのは、メアドなどの個人情報を外部キーに使っているよ...

Read more

オフラインリアルタイムどう書く E12 の問題 - 積むけど消えない

オフラインリアルタイムどう書く E12 の問題です。

問題の概要

5 種類のテトロミノを積んでいく。高さを求めよ。

テトロミノ

入力

3S0T2O3I のような形式。

数字は右にいくつずらしてから落とすか、文字 (I、 L、 O、 S、 T) はテトロミノの形。

出力

8 のような形式。高さ。

補足

実装ができた方は Qiitaの記事 のコメント欄からリンクを張っていただくと見つけやすくて助かります。

サンプルデータ

# 入力 期待 状況へのリンク
0 1O3L0I0T 5 状況
1 0I 4 状況
2 0I0I
Read more

西日暮里.rb 2年のふりかえり

この記事は IT勉強会/コミュニティ運営 Advent Calendar 2016 の20日目の記事です。

19日目は @ara_ta3 さんの 大体新卒(?)コミュニティDarkでやってるtips集 でした。

どうもこんばんは、@mtsmfm です。 Ruby と麻雀が好きです。 西日暮里.rb のオーガナイザーをしています。

西日暮里.rb は、主に最終月曜日に行われている地域.rb です。 西日暮里や神田や五反田などで、もくもく会をしたり LT 大会をしたりしています。 最近で...

Read more

オフラインリアルタイムどう書く E10 の問題 - 塗って繋ぐ

オフラインリアルタイムどう書く E10 の問題です。

問題の概要

黒い正方形それぞれを9等分して5箇所を白く塗る操作を X、4箇所を白く塗る操作を O とする。 操作を繰り返した結果、白の領域が繋がった部分がいくつになったか求めよ。

X

操作X

O

操作X

XO

操作X

ルール

入力

XOX のような形式。

各々操作の種類の名前。

出力

21 のような形式。

白の繋がっている部分の数。

補足

実装ができた方は Qiitaの記事 のコメント欄からリンクを張っていただくと見つ...

Read more

オフラインリアルタイムどう書く E06 の問題 - 目指せホゲモンマスター

オフラインリアルタイムどう書く E06 の問題です。

問題の概要

ホゲモンリーグを勝ち抜いて、ホゲモンマスターになろう!

ルール

プレイヤー同士でホゲモンを戦わせ、総当たり戦を行う。

  1. プレイヤーは手持ちの中で登録した順に 1 匹づつホゲモンを繰り出し、常に 1 対 1 で戦う
  2. ホゲモンには体力があり、 0 以下になるともう行動することはできない

戦闘について

  1. 戦闘はターン制で、1 ターンに 1 回攻撃できる
  2. レベルが高い方が先に攻撃する
    • レベルが低い方は、体力が残っ...
Read more

OSS Gate でメンター参加してました

OSS Gateワークショップ2016-07-30に初参加してメンターしてました。

OSS Gate は「OSSの開発に参加する」を実際に体験するワークショップです。 詳細は公式ドキュメント参照のこと。

Tokyo RubyKaigi 11 での宣伝を見て来た人が多かったからか、 OSS の題材として Ruby や Rails を選ぶ人が多かった印象でした。 一方で僕が担当になったビギナーの方は Trac や Perl を選んだので、僕がメンターと言いながらどっちも経験がないのが不安で...

Read more

オフラインリアルタイムどう書く E04 の問題 - ドキドキ登山

オフラインリアルタイムどう書く E04 の問題です。

問題

次の図は山を上から見たところである。

頂上 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8入力 2512:C

A ~ H が登山者、1 ~ 8 は方角、実線が登山道である。

A ~ H のうち登頂できた人を求めたい。

ルール

登山には次のルールがある:

  1. 登山道を麓から頂上に向かって登る
  2. 登る際に、横方向の登山道があればそちらを通る

ただし、一部の登山道は頂上から...

Read more