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
480
最近はじめた競技プログラミングを布教したい話
最近はじめた競技プログラミングを布教したい話
ktny
December 29, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
48
31k
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
700
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
100
GraphRAGの仕組みまるわかり
tosuri13
8
500
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
400
A2A プロトコルを試してみる
azukiazusa1
2
1.2k
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
270
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
980
20250613-SSKMvol.15
diostray
0
100
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
460
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
380
KATA
mclloyd
30
14k
Rails Girls Zürich Keynote
gr2m
94
14k
How to Ace a Technical Interview
jacobian
277
23k
GitHub's CSS Performance
jonrohan
1031
460k
Bash Introduction
62gerente
614
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Six Lessons from altMBA
skipperchong
28
3.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Typedesign – Prime Four
hannesfritz
42
2.7k
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
ご清聴ありがとうございました