Neunomizuの日記

俺だけが俺だけじゃない

# Sunk CostとしてのAtCoder(緑色で引退)

tags: 情報

要約

  • AtCoderはデータ構造とアルゴリズムを勉強するのに効率が良いと思って始めた
  • 効率よく勉強するのが目的なら他によい手段が見つかった
  • AtCoderは良いサービス
  • LeetCodeの方が自分には向いてそう

始めた理由

始めたのはデータ構造とアルゴリズムに詳しくなりたかったからです

加えて, 周りのやっている人が強い人だったからというのもあります

(自分への)実際の効用

AtCoderを始めた時は本当にプログラミングが出来なかったのですが, 始めてコードを書く量が増えたので前よりはできるようになりました. 当たり前ですね

加えてデータ構造とアルゴリズムにも詳しくなりました. 試験勉強で「あ, これAtCoderで見た!」となったこともあります

やめた理由

  • AtCoderのレートで疲れた
  • データ構造とアルゴリズムを勉強するなら他のサービスの方が良いと思った
  • これをやっている時間を他のことに使いたい
  • 新ABCからレートが上がらないのでつまらない(笑)
  • 数学(パズル?)みたいな問題が出てイライラするから(笑)

英語試験と似ている?

AtCoderというのは英語の資格試験と似ている点が結構あって

  • レート(スコア)が高いとプログラミング(英語)そのものができると思われやすい
  • レート(スコア)が目的化してしまう
  • 試験に出せるものはできるようになるがそれ以外は試験勉強ではできるようにならない

最後は語弊がありそうなので付け加えると, AtCoderの問題を解くとAtCoderの問題は解けるようになるけどWebアプリケーションが作れるようにはならないというだけで別に役に立たないということが言いたいわけではないです

逆に異なるのは

  • 英語が母国語の人は資格試験のスコアがすごいことになる
  • 無為にプログラミングをしているだけでは少し対策した程度ですごいスコアは出ない

僕はこの無駄にレートに拘るというものをしていたのですが, レートが上げて何がしたいのかと冷静に考えると特にないのでやめることにしました

TOEICの点数にめちゃくちゃこだわっている人もいますがそんな感じでしたね. 大してやっていないけど気にして脳のリソースが奪われるやつ

やめるけど

緑色の自分が言うのもなんですが役には立つと思います. やっていなかったら出来なかったであろう処理もあります

しかし, レート(水色になってやめたかった気もする)とかかけた時間を考えるとやめるのもなぁと思いながらダラダラやっていたのですがそうやってもっと大事なことをやらない方がもったいないのでやめるだけです

今はLeetCodeをぼちぼちやっています. それは僕がそっちの方が自分にとって効率的だと思っただけです. AtCoderは素晴らしいサービスだと思います(ついでにAtCoder Jobsも使うつもりなので頭上がらないです^^)

個人的には海外の面接で使われる問題をそのままパクっていて学習的なサイトであるLeetCodeの方がいいと思いました

LeetCodeの宣伝

LeetCodeの宣伝をします(冗談です)

このサイトは主にアメリカ企業のコーディングテストを突破するために作られていて, 体系的にデータ構造とアルゴリズムを学ぶことが可能です

僕がLeetCodeで気に入った点は以下の通りです

  • AtCoder的な数学ぽい問題は(少なくとも僕とその周辺の意見では)少ないです
  • 体系的にデータ構造とアルゴリズムが学べる
    • Learnというのデータ構造やアルゴリズムに関する問題が体系的にまとまったページがあります(下の通り)
    • 問題にもタグが付いているので自分の関心があるものを重点的に学ぶことができます
    • AtCoderではそういうサービスはないのでこれが大きいです

  • 問題もこのように問題ごとに難易度も書かれていて使いやすいです
    • AtCoderにはこういう自前のサービスがなくUIも見やすいです
  • 実際にコーディングテストに出題された問題が大半なので就職の役に立つ(らしいです)
  • 課金するとコーディングテストの役に立つコンテンツが使えるようになる
    • 質が高いものならお金を払ってもいいと思っています
    • 解説がわかりやすいです. 一部有料ですがこのわかりやすさなら納得です
  • discussionというユーザーが解法を共有する空間がある
    • 公式の解説が分からなくてもなんとかなります
  • 時間計算量だけでなく空間計算量の改善も重要である
    • AtCoderでは時間計算量だけが問われることが多いですが, 空間計算量も考慮するようになりました
  • 解説の動画がYoutubeにたくさんある
    • B2Bがわかり易すぎる(ちなみにYoutubeにはKruscal先生も登場します)
    • AtCoderの解説放送とは違い編集もされていて, 言語が強いと量と質も違うのだなあと思いました(丸)

他にもあると思いますがぱっと思いついたのがこれですね. ただ, 複合的な問題は出てこないですし, アルゴリズムの実装がメインです. 結構毛色が違いますねやはり

コンテストも一応開催していますが, 自分は出ていません. まだ問題解き始めた段階ですしね

手段と目的

プログラミングは手段に過ぎないと考えている人とそれ自体が目的の人がいると思います. 僕にとってはどちらでもあり目的となるプログラミングはAtCoderでのプログラミングではなく, 手段としてもAtCoder社の提供するもの以外にもっと良いと思うものがあったというだけです

某氏曰く「水色ならば人間だ」だそうですが, こういうレートが正義みたいな意見が強いのも苦手だったのでちょうどいい機会でした

(このブログを読んだchokudai氏とそのファンネルにあれこれ言われそうだ...)