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
What are AtCoder and competitive programming
Search
きりみん
August 16, 2019
Programming
0
10k
What are AtCoder and competitive programming
きりみん
August 16, 2019
Tweet
Share
More Decks by きりみん
See All by きりみん
AndroidエンジニアがRailsにチャレンジしてる理由
kirimin
1
1.5k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.4k
Watashi ni Kotlin ga maiorita
kirimin
0
530
NEMのAPIとモザイクであそぼう
kirimin
0
380
はじめようきれいなコード
kirimin
8
3.1k
Material Components for Android触ってみる
kirimin
7
2k
[社内LT]あたらしいMaterial Design
kirimin
1
1.7k
Hello-kirimin-chan
kirimin
0
140
Other Decks in Programming
See All in Programming
監視 やばい
syossan27
11
10k
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
130
VitestのIn-Source Testingが便利
taro28
8
2.3k
Vibe Coding の話をしよう
schroneko
12
3.4k
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
2
1.4k
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
350
Qiita Bash
mercury_dev0517
2
220
Being an ethical software engineer
xgouchet
PRO
0
220
Make Parsers Compatible Using Automata Learning
makenowjust
2
6.1k
Unlock the Potential of Swift Code Generation
rockname
0
280
ComposeでWebアプリを作る技術
tbsten
0
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Rails Girls Zürich Keynote
gr2m
94
13k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
The Cult of Friendly URLs
andyhume
78
6.3k
The Invisible Side of Design
smashingmag
299
50k
Optimizing for Happiness
mojombo
378
70k
Producing Creativity
orderedlist
PRO
344
40k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to Ace a Technical Interview
jacobian
276
23k
Facilitating Awesome Meetings
lara
54
6.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Transcript
͔̌Β̑ͰΘ͔Δ AtCoderͱ ڝٕϓϩάϥϛϯά @kirimin_chan
ࣗݾհ • όʔνϟϧ༮ঁϓϩάϥϚͷ͖ΓΈΜͪΌΜͰ ͢ʂ • ڝٕϓϩάϥϛϯάॳ৺ऀͰ͢ • ߴϨʔτίʔμʔΛࢦͯ͠मߦதʂ • ຖिAtCoderͷաڈΛղ͘৴ΛͬͯΔΑʂ
AtCoderͬͯͳʹʁ • AtCoderΦϯϥΠϯͰࢀՃͰ͖Δڝٕϓϩ άϥϛϯάͷαΠτͷ໊લͩΑ • ΄΅ຖिίϯςετ͕։࠵͞Ε͍ͯͯɺ୭Ͱ ແྉͰ؆୯ʹࢀՃͰ͖ΔΑ • աڈʹ͍ͭͰઓͰ͖ΔΑ
ڝٕϓϩάϥϛϯάͬͯͳʹʁ • ڝٕϓϩάϥϛϯάɺग़͞Εͨ݅Λຬͨ͢ ϓϩάϥϜΛղ͘εϐʔυਖ਼֬͞Λڝ͏ϓϩά ϥϛϯάΛ͏ڝٕͩΑ • ڝϓϩͱ͔ϓϩάϥϛϯάίϯςετͱ͔ݴͬͨ Γ͢ΔΑ • Web্Ͱ୭Ͱ؆୯ʹࢀՃͰ͖Δෑډͷ͍ڝٕ
ͩΑ
ϓϩάϥϛϯάͬͯͳʹʁ • ΞϓϦίϯϐϡʔλʔΛಈ͔ͨ͢Ίͷ໋ྩ จͷ͜ͱͩΑ • WebαΠτεϚϗΞϓϦςϨϏήʔϜ ϓϩάϥϛϯάΛͬͯ࡞ΒΕ͍ͯΔΑ • Ή͔ͣͦ͠͏ʹݟ͑Δ͚Ͳɺ࢝ΊΔͷʹඞཁ ͳࣝগͳ͘୭Ͱ͙͢ʹ࢝ΊΒΕΔΑʂ
val time = getTime() ←ίϯϐϡʔλʔ͔Β࣌ؒΛऔಘ͢Δ if (time >= 12) {ɹˡ͠12ͱಉ͔ͦ͡ΕΑΓେ͖͔ͬͨΒ
show("ޕޙͩΑ")ɹˡʮޕޙͩΑʯͱը໘ʹදࣔ͢Δ } else {ɹˡ͕ͪͬͨΒ show("ޕલͩΑ")ɹˡʮޕલͩΑʯͱը໘ʹදࣔ͢Δ } ϓϩάϥϛϯάͷΠϝʔδ • ϓϩάϥϛϯάͬͯ͜Μͳײ͡ͷͷͩΑ (͘͢͝؆ུԽͨ͠ϓϩάϥϜͷίʔυ)
࣮ࡍʹڝٕϓϩάϥϛϯάͰॻ ͘ϓϩάϥϜ
ڝٕϓϩάϥϛϯάͷԿָ͕͠ ͍ͷʁ • ύζϧͷΑ͏ʹΉ͔͍ͣ͠Λ͔Μ͕͑ͯ ղ͘ͷ͕ͨͷ͍͠ • ରઓήʔϜͷΑ͏ʹϓϩάϥϛϯάͷ݁Ռʹ είΞ(ϨʔτॱҐ)͕ग़Δͷ͕ͨͷ͍͠ • ͍Ζ͍ΖͳϓϩάϥϛϯάͷςΫχοΫΛֶ
Ϳ͜ͱ͕Ͱ͖Δ
ڝٕϓϩάϥϛϯά≠ιϑτ ΣΞ։ൃ • ڝٕϓϩάϥϛϯά͕ग़དྷͯΞϓϦήʔ ϜͳͲͷιϑτΣΞ͕࡞ΕΔΘ͚Ͱͳ͍ • ٯʹΞϓϦήʔϜ͕࡞Εͯڝٕϓϩάϥ ϛϯά͕ڧ͍ͱݶΒͳ͍ • Ͱڝٕϓϩάϥϛϯάϓϩάϥϛϯάͷ
ษڧʹͳΔ͠ɺιϑτΣΞ։ൃʹཱͭ
۩ମతʹͲΜͳΛղ͘ͷʁ • ϓϩάϥϛϯάͷجૅ͕͔Ε͙͢ʹղ͚ Δ͔ΒɺߴͳϓϩάϥϛϯάςΫχο Ϋֶͷ͕ࣝඞཁͳϨϕϧͷ·Ͱ ৭ʑ͋ΔΑ • ϓϩάϥϛϯάॳ৺ऀֶͷ͕ࣝͳͯ͘ ղ͚ΔϨϕϧͷͨ͘͞Μ͋ΔΑ
۩ମతʹͲΜͳΛղ͘ͷʁ Ҿ༻ݩɿAtCoder Beginner Contest A - Addition and Subtraction Easy
ͭ·ΓͲ͏͍͏͜ͱʁ • 2ͭͷࣈͱʮ+ʯ͔ʮ-ʯͷه߸͕͞ΕΔͷ Ͱɺ͠ࢉ͔Ҿ͖ࢉΛͯ݁͠ՌΛฦ͠ͳ͍͞ ͱ͍͏
ճྫ
͔ΜͨΜ☺
AtCoderͷಛ • ຊͷαΠτ͔ͩΒղઆຊޠʂ • ؆୯ͳ͔Β͍͠·Ͱͨ͘͞Μ͋Δ • աڈ͍ͭͰઓ͢Δ͜ͱ͕Ͱ͖Δ • ڝٕϓϩάϥϛϯάC++PythonͳͲͷݴޠͰ ղ͘ਓ͕ଟ͍͕ɺAtCoderJavaRubyͳͲॳ৺
ऀʹਓؾͷ͍Ζ͍ΖͳݴޠʹରԠ͍ͯ͠Δʂ
AtCoderͷಛ • Beginner Contest(ABC)Regular Contest(ARC) ͳͲ͍͔ͭ͘ͷϨϕϧͷίϯςετ͕͋Δ • ABCͰͯ͢ͷ͕ղ͚ͨΒWebϓϩάϥ Ϛʔͱͯ͠ΦʔόʔεϖοΫͳ͘Β͍ͷϨϕϧ ײ
• ͖ΓΈΜͪΌΜ͕ීஈઓͯ͠ΔͷABC
AtCoderͷಛ • ίϯςετຊ൪ͷʹΑͬͯϨʔτ͕͘ • ϨʔτʹΑͬͯ৭͚͞Ε͍ͯͯɺAtCoderຽ৭Ͱࣗͷڧ͞Λදݱ͢Δ • փɿॳظ৭ • ɿී௨ʹϓϩάϥϛϯά͕ಘҙ •
ɿϓϩάϥϚʔͱͯ͠όϦόϦࣄ͕Ͱ͖Δ • ਫɿී௨ͷϓϩάϥϚʔͱͯ͠จ۟ͳ͠ͷ࣮ྗ • ੨ɿߴͳϓϩάϥϛϯά͕ඞཁͳͷ։ൃͰ׆༂Ͱ͖Δ
Ͳ͏ͬͯ͡ΊΔͷʁ • ϓϩάϥϛϯά͕Ͱ͖ΔͳΒAtCoderͷαΠτͰ ొ͢Δ͚ͩʂ • ίϯςετ͍͍ͩͨຖिʹ։࠵͞Ε͍ͯΔ ͷͰɺࢀՃొͯͦ͠ͷ࣌ؒʹαΠτʹΞΫηε ͢Δ͚ͩʂ • ϓϩάϥϛϯά͕͔Βͳ͚Εϓϩάϥϛϯά
ͷೖॻΛങͬͯΈΑ͏ʂ
ҰॹʹڝٕϓϩάϥϛϯάΛ ͨͷ͠͏ʂ
ڵຯ͕ग़ͨΒ ʮ͖ΓΈΜͪΌΜͶΔʯ ͷಈը৴ΛݟͯΈͯͶʂ YouTubeͰʮ͖ΓΈΜͪΌΜ ͶΔʯͰݕࡧ✨✨✨