Slide 1

Slide 1 text

競技プログラミングに挑戦! 2019.10.16 (Wed) Ebisu.rb#25 Sho Nagata

Slide 2

Slide 2 text

Who am I? • Sho Nagata • Backend Engineer@カカクコム • 食べログのマイクロサービス化を推進中 • Ruby / Rails(歴は1年1ヶ月) • 最近はクラウドやGoに関心 ˏs_naga03 Sho Nagata nagata03

Slide 3

Slide 3 text

競技プログラミング?

Slide 4

Slide 4 text

競技プログラミングとは • 問題を解決するプログラムを制限時間内にいくつ書けるか

Slide 5

Slide 5 text

競技プログラミングの種類 • いくつかジャンルがある • アルゴリズム • ゲームAI • セキュリティ • データマイニング

Slide 6

Slide 6 text

競技プログラミングのプラットフォーム • AtCoder • yukicoder • TopCoder • LeetCode etc..

Slide 7

Slide 7 text

兎にも角にもやってみよう! → Demo

Slide 8

Slide 8 text

やってみて・・・

Slide 9

Slide 9 text

• 数学の知識が必要 • 制限時間があると焦る

Slide 10

Slide 10 text

• 他の人のコード見るのも面白い • 競プロ能力の高さ ≠ プログラマーとしての能力の高さ • 可読性やメンテナンス性は重要ではない

Slide 11

Slide 11 text

• C++erが圧倒的に多い • 競プロやってみて知ったRubyのメソッド • transposeメソッド

Slide 12

Slide 12 text

まとめ

Slide 13

Slide 13 text

• アルゴリズムを組み立てる力は確実につく • ハマるかどうかは人による

Slide 14

Slide 14 text

今後 • 勉強中の “Go” でチャレンジ! • LeetCodeはGoogleなどで出された問題などもあるみたいなので覗いてみる

Slide 15

Slide 15 text

これからもプログラミングを “楽しんで” いこう! Thank you!!