Photo by Shane K
こんにちは。谷口です。
paizaでは初心者向けのプログラミング学習ゲーム「コードガールこれくしょん」や動画でプログラミングが学べる「paizaラーニング」で、初心者でも学びながらプログラミング問題に挑戦できるコンテンツを公開しています。
ただ、最近は既にプログラミングができる上級者の方々から「もっと難しい問題を解きたい」「中・上級者向けの学習コンテンツがほしい」と言われることが増えてきました。
そこで今回は
・既に仕事や授業でプログラミングをしている方
・競技プログラミングに挑戦してみたい方
・勉強をして「もう初心者レベルは脱出したかな?」という方
・もっと歯ごたえのあるプログラミング問題が解きたい方
という方々におすすめの、プログラミング中級者ぐらいの方が上級者にレベルアップできるような問題に挑戦できるサイトを7件ご紹介します。
■TopCoder
TopCoderはTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。
TopCoderの各種目に参加すると、プログラミングスキルを表すレーティングと呼ばれる数値が付けられます。名前が赤で表示されている人物は「レッドコーダー」(レーティングが2200以上の上位者)と呼ばれ、世界中のITエンジニア達の中でも一目置かれる存在です。
公式サイトには「practice room」という練習用の部屋もあり、過去問を解いたり、他の人のコードを見たりすることもできますので「コンテストには参加しなくてもいい…」「問題だけ解いてみたい」という方にもかなり勉強になると思います。
■HackerRank
HackerRankでは、企業が採用のために提示した問題を解くと、他の人と比較してランクがつけられるサービスです。
もちろん転職目的だけでなく、いろいろな問題を解いて力試しがしたいという目的でも挑戦できます。
■Codeforces
Codeforcesは月に2~3度プログラミングコンテストが開催されているサービスです。簡単な登録さえすれば誰でもすぐに参加することができるので、気軽に挑戦できるコンテストだと思います。
■AtCoder
AtCoderはプログラミングコンテストを開催している日本のサービスです。
練習ページでチュートリアルからコードの提出方法などが練習できるため、「プログラミングは好きだけど競プロは初めて」という方にもおすすめです。
■yukicoder
yukicoderは競技プログラミング・アルゴリズムをゆるふわに練習する目的で運営されています。
こちらも初心者ガイドがあり、チュートリアルと簡単な問題から練習を始めることができます。問題を思いついたら出題することもできます。
■CodingBat
CodingBatでは、JavaとPythonの問題を練習することができます。その場でコードを書いて結果を判定してくれるので、とにかくたくさん問題を解いて練習がしたい人で、Java/Pythonユーザーの人にはぴったりだと思います。
■paiza/paiza新卒
paizaとpaiza新卒では、スキルチェック問題を多数ご用意いたしております。
プログラミング問題を解いた結果によりS・A・B・C・D・Eの6段階で自分のスキルのランクが分かります。
問題はレベルごとに分かれており、上級者向けの問題も多数ご用意しておりますので、「自分のプログラミングスキルを客観的に知りたい」「とにかくたくさん問題が解きたい」という方は是非チャレンジしてみてください!!
■まとめ
いくつかのサイトを紹介させていただきましたが、プログラミングが好きな方、難しい問題に挑戦してみたい方は、やはり一度競技プログラミングに挑戦してみることをおすすめします。
限られた時間の中でいかに効率のよいコードを書くかということが重要なので、「厳しい時間制限がある中でのプログラミングは苦手…」と思われるかもしれませんが、リアルタイムで世界中の猛者達と対戦できるのが競プロの楽しいところでもあると思います。
もちろん自分に合った難易度のプログラミング問題を解くことはスキルアップにつながるので、「まずは練習のために解きまくってみたい」という方もぜひ挑戦してみてください!
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。