最近Pythonを身に着けようとしています。

Udemyで動画を見たあとで、HackerRankで問題を解く、という方法で取り組んでいます。

HackerRankとは

一言でいうと、プログラミング(など)の問題が沢山あるサイトです。ユーザーは与えられた問題を解くコードを書いて提出、合っていればOK。間違っていればやり直し、というものです。

似たようなものとして以前ご紹介したAtCoderがありますが、そちらはプログラミングコンテスト。

AtCoderでプログラミング筋を鍛え始めようと思います – テストウフ

AtCoderのほうが「問題」の規模が少し大きめで、HackerRankのほうが初歩的な問題を多く含みます。たとえば「1から与えられた数字までを並べて出力せよ」といった問題があるのがHackerRankです。

また、プログラミングコンテストではなく練習問題が沢山あるサイト、という位置づけなので、他人とスピードを競うプレッシャーなく、淡々とこなしていけるので、学習に適しています。

HackerRankのいいところ

私が思うHackerRankのいいところは

  • 小さめの(難易度Easyの)問題が沢山ある
    • 1問あたりにかける時間が少なく、ポンポン解いていけるのでやった感がある
  • いろんな言語の問題がある
    • RubyやJavaやPythonなど、言語ごとに基本を学習できる

などです。

以前やってよかったなーと思ったのはSQLの問題です。

テーブルが与えられて、こんな条件で抽出せよ、といった問題が沢山ありました。SQLに初めてふれるようなタイミングでこれを数こなすと、テストエンジニアがテストデータを探すために少し込み入ったSELECTするくらいはすぐ出来るようになります!

画面のイメージ

HackerRankの画面はこんなかんじ。

Dashboard HackerRank

Dashboardに、自分の進捗などが出てきます。

Python If Else HackerRank

こちらが問題文。

Python If Else HackerRank 2

問題文の下に回答を入力するところがあります。

RubCodeを押すと実際にコードを実行でき、問題なさそうであればSubmitCodeしましょう。その場で結果が出ます。

私もPythonをこのHackerRank使ってこつこつ進めているところです。

新しくプログラミング言語を身につける際には使ってみると良いのではないでしょうか。