Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近はじめた競技プログラミングを布教したい話
Search
ktny
December 29, 2019
Programming
2
490
最近はじめた競技プログラミングを布教したい話
最近はじめた競技プログラミングを布教したい話
ktny
December 29, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
160
CSC509 Lecture 04
javiergs
PRO
0
300
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
120
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
100
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
220
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
270
Swift Concurrency - 状態監視の罠
objectiveaudio
2
520
XP, Testing and ninja testing ZOZ5
m_seki
3
620
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Advance Your Career with Open Source
ivargrimstad
0
490
明日から始めるリファクタリング
ryounasso
0
140
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Invisible Side of Design
smashingmag
302
51k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Building an army of robots
kneath
306
46k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.3k
Code Reviewing Like a Champion
maltzj
526
40k
Designing for Performance
lara
610
69k
Transcript
最近はじめた競技プログラミング を布教したい話 関西フロントエンド 年越し LT忘年会 2019 2019/12/29
自己紹介 高橋克典(たかはしかつのり) 今年の4月に東京から大阪に転職で来ました。 データ分析サービスの部署で主にデータ分析以外のことをやってるエンジニア。 フロント・サーバーを中心にインフラ含めできることは担当しています。 twitter @ktnyori
今年の9月から 競技プログラミング (AtCoder) はじめました
AtCoderを知っている人?
競技プログラミングってなに? プログラミングコンテストで行われる競技の一種。 参加者全員に同一の問題が出題され、より早く与えられた要求を満足するプログラムを正確に記述することを競 う。 引用:WikiPedia
どういう問題が出るの? 有名なところでいうとFizzBuzzのような問題が出ます ~FizzBuzzとは~ • 2人以上のプレイヤーが1から順番に数字を発言していく • 3で割り切れるときは「Fizz」を発言 • 5で割り切れるときは「Buzz」を発言 •
両方で割り切れるときは「 FizzBuzz」を発言 • これをプログラミングで表す
競プロの楽しいところ オンラインで大勢のプレイヤー(全世界)とリアルタイムに勝負できる 勝負の結果によってレベルが上がったり下がったりする 多くの敵(過去問)と戦ってレベル上げができる 他のプレイヤーと交流したり、ライバルとして勝負することもできる
つまり、 競プロ = ネトゲ といっても過言ではない
他にも競プロのいいところはたくさんある 特に作りたいものがなくてもプログラミングを楽しめる アルゴリズム、計算量(ある処理にどれくらい時間がかかるか)に詳しくなれる 言語の標準機能などに詳しくなれる 新しい言語の練習にも使える twitterにはまる(これはよくない面もある)
でも競プロの問題って 難しいんでしょ?
難しい問題もあるしそうじゃない問題もある AtCoderの入門者用コンテストABC(AtCoder Beginner Contest)はA〜Fまでの6問出題される そのうちA~BはFizzBuzzとそう変わらないレベルの難易度 C~はもっと思考が要求されたり、アルゴリズムの考え方が必要になることも その分難しい問題が解けたときは快感!
でも競プロの知識って 実務では使わないんでしょ?
直結はしないけど知っておいた方が絶対にいい 少なくとも計算量的な考え方は実務でも気にしなければならない場面がよくある 実務でも知らず知らずのうちに時間のかかるロジックを組んでしまわないように気をつけられる アルゴリズムを実務で使用することは少ないが知識の幅は広がる 最近は企業もAtCoderの存在を認知しており就職・転職に使えることも
始め方がわからない
実は今はもっとも始めやすい時期です AtCoderの1回のコンテストの参加者が 1年前と比べて約2000人から5000人と2倍以上に増えている 初心者が始めやすいようにいろいろな入門記事やコンテンツも充実している 例:AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問
~https://qiita.com/drken/items/fd4e5e3630d0f5859067 まずはリアルタイムでコンテストに参加して雰囲気をつかめば面白さがわかる
いつやるの?
今日でしょ
今日の20時から 年内最後の AtCoder Beginner Contest
ご清聴ありがとうございました