その他ファインディ発信

Findyのプロダクト

Findy

Findy Freelance

Findy Teams

Findyで働く

プロダクト開発

ユーザーサクセス

エンジニアのキャリアについて

現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab - ファインディエンジニアラボ

こんにちは、はじめまして。筑波大学附属駒場高等学校 3 年生(今年 4 月から東京大学に入学予定)の米田優峻(@e869120)と申します。私は 競技プログラミング(競プロ)が趣味で、 AtCoder・ 情報オリンピック・ パソコン甲子園などの大会に出場しています。2021 年 3 月時点で、AtCoder では赤色(レッドコーダー)です。また、国際情報オリンピックの 2018 年/2019 年/2020 年大会で金メダルを獲得しています。*1 とはいえ、決して簡単にこの記録を手に入れられたわけではありません。何度も挫折と失敗を経験しながら自分のスキルを磨いた結果、競プロを始めてから 3 年後にはレッドコーダーになることができたのです。 今回は「わたしの選択」というテーマで寄稿の機会を頂いたので、私が中学 1 年生の秋に競技プログラミングを始めてからレッドコーダーになるまで、そして国際情報オリンピックで 3 度目の金メダルを獲得するまで、競技者としてやってきたことについて、競プロの実力を上達させるテクニックなどを交えながら共有できたらと思います。 AtCoder などの プログラミングコンテスト で問われる「プログラミング能力」「アルゴリズム構築能力」「問題解決力」といったものは、情報化社会が加速する今、とても重要になりつつあると考えています。特に 2020 年からは小学校でもプログラミング教育が必修化されるようになり、アルゴリズムやプログラミング的思考の注目度が急激に増加しています。そこで本記事では、 アルゴリズムや競プロといったものに少しでも興味を持っていただく 「私がどのような練習をしてアルゴリズム構築能力が上達したのか」を知ってもらい、上達に役立ててもらう ことを最大の目標にします!!! この記事の全体的な構成は、以下のようになっています。 前半(1~2 章)では、競技プログラミングやアルゴリズムの面白さを読者の皆さんに知ってもらう 後半(3~5 章)では、自分が競技プログラミング上達のために、そして上達した後どのようなことを行ったかについて、上達のテクニックなどを途中で入れながら紹介する 最後に、競技プログラミングで問われる「アルゴリズム構築能力」をアップさせるために良さそうな書籍や記事を紹介する なお、競技プログラミングを既に知っている方は [2 章] から読み始めても構いません。 本記事を読んでいる人の中には、「競技プログラミング(競プロ)」「アルゴリズム」といった言葉を始めて聞いた方もいると思います。そこで本章では、 競プロや情報オリンピックとはどのようなものか プログラミングコンテストではどのような能力が問われるか について、分かりやすく説明していきたいと思います。 まず、競プロとは以下のようなものです。 競技プログラミングでは、参加者全員に同一の課題が出題され、より早く与えられた要求を満足するプログラムを正確に記述することを競う。 (Wikipedia より引用) つまり、プログラミングで解ける問題が何問か出されて、制限時間内にできるだけ多くの問題を解くことが目的の競技です。いわゆるコーディング試験と似ています。競技の流れとしては、以下の図の通りになります。 特に AtCoder という有名なコンテストサイトでは、全世界で約 8000 人程度が同時にコンテストに参加しています(詳しくは [1-3.

現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab - ファインディエンジニアラボ

エンジニア採用について

エンジニア組織について