HackerRankの歩き方

はじめに

HackerRankに取り組む機会があったのでまとめてみました。

※標準入力に関するまとめ

PHPによる標準入力

JavaScriptによる標準入力

HackerRankの解き方

※HackerRankはエンジニアのスキルチェックとして企業の選考などに使われるそうです。(初知り)

登録(無料です)したらさっそく例題が出てきます。

正直Paiza使っていた自分としては英語だ~しかもなんか癖強っ!!って感じました。笑

(ただ最初からある程度のコードは与えられている様子。ここは救い。)

最初は解き方がぜんぜんわからずググりましたがこれといって情報も見つからず(英語を読む気がない)。

仕方ないので、頑張って一通り読んで、とりあえず上記例題はコメントアウトされているHintの下に入力すれば良いんだな??と気づいたので。

下記を入力でRun Code!

echo $a + $b;

無事クリア。

Paizaに置き換えて考えると以下のイメージです。

Sample Input:実際に入力される値

Sample Output:期待される出力

一度解き方がわかればなんてことないかもです。

HackerRankの歩き方

例題1題解けただけでずいぶんHackerRankのハードルが下がりましたが、

なんだかんだ英語の壁が高かったです。そして歩き方ガイド的なのも見つからなかったので、Google翻訳をフル活用しました。

★メイン画面(日本語/英語)

※登録したメールアドレスに届いたメールによる認証を済まさないと右側に催促メッセージが出ます。(翻訳して気付いた( ^ω^)・・・)

 

★面接準備キット(日本語/英語)

とりあえずこちらにアクセス。

ざっと各リンクに飛んでみましたが初めて挑戦するには全体的に難易度高めでした。。。

★問題解決(日本語/英語)

一通り目を通した感じ、まずはこちらで問題に慣れていくのが良さそうです。

HackerRankに挑戦

さっそく上記の問題を上から解いていきます。

Simple Array Sum

サイトはこちら

そしてやっぱり英語のハードルが高かったので2画面表示にしました。苦笑

1行目で配列の要素の個数が表示
2行目で整数の要素が表示

2行目の整数の合計を求める問題ですね。(問題を理解するのに時間がかかる。。。)

まさる
ちなみに翻訳したほうでコード入力するとそのコードも翻訳されちゃいます。解答は元のページでやりましょう。

そしてRun Codeで出力のテストができることがわかったので、安易にechoして変数の中身を知ろうとすると以下のようにエラー・・・

そもそもわからない関数やらメソッドが多すぎる・・・

ってことで調べたものは別途記事にまとめました。

【PHP】競技プログラミングで使った関数まとめ

とりあえず解答をば。

function simpleArraySum($ar,$ar_count) {
    static $array_sum = 0;
    for($i=0;$i<$ar_count;$i++){
        $array_sum = $array_sum + $ar[$i];
    }
    return $array_sum;
}

全体のコード。

正解!!

まさる
別パターンの回答として、シンプルに配列の総和を求めるarray_sum()関数を使っても良いですね!

おわりに

HackerRankで1題解き終えるのにとても時間がかかってしまいました。。。

echoを使わずに出力してる感じとか慣れませんね。

ただ、こういった問題を通じて関数の使い方もけっこう学べるので、Webアプリ制作にも活きるなと感じました。

引き続き問題を解いていこうと思います!

参考

【HackerRankを解きつつ学ぶシリーズ】python 初心者のためのcapitalize() とsplit() と時々strip()

今もっとも需要があるテック人材とは?–HackerRank

PHPで標準入力から値を受け取る(競技プログラミングとか)

戻り値を使って関数から値を返す

コメントを残す