$30 off During Our Annual Pro Sale. View Details »
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
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
120
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
210
Cell-Based Architecture
larchanjo
0
110
WebRTC と Rust と8K 60fps
tnoho
2
2k
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.3k
AWS CDKの推しポイントN選
akihisaikeda
1
240
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
810
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7k
認証・認可の基本を学ぼう前編
kouyuume
0
190
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
220
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
94
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building Applications with DynamoDB
mza
96
6.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Fireside Chat
paigeccino
41
3.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
ご清聴ありがとうございました