7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[HireRoo]で出題される入出力問題の解答方法

Last updated at Posted at 2023-04-09

概要 

転職活動、就職活動を行なっていると、コーディングテストを受ける機会があるかと思います。
その際、HireRoo のテストを受ける機会があると思われます。
コーディングテストでは、必ず入出力問題があります。初めてHireRooでコーディングテストの入出力系の問題を受けると、 「どうやって構築した結果を出力するの?」 と疑問に思うかと思われます。
私自身もこの問題に直面して、解決に凄く時間を要し為、今回はその方法について、ご教示します。

結論

出力系のメソッドを使用しないで、returnで値を返せば出力されます。

出力方法

チュートリアルの問題を題材にして、2023/4の時点で私が使用している言語にて解答例をご教授します。

問題(チュートリアルで出題されている問題)

問題の説明(内容)
solution 関数には引数として int 型の配列 arr が与えられています。
arr に含まれるすべての要素を2倍した結果を int 型の配列で返すプログラムを作成してください。

解答例
例1:

入力: arr = [1,2,3]
出力: [2,4,6]
説明: 1*2=2, 2*2=4, 3*2=6 なので [2,4,6] が答えとなる。

例2:

入力: arr = [0,-1,1]
出力: [0,-2,2]
説明: 0*2=0, (-1)*2=-2, 1*2=2 なので [0,-2,2] が答えとなる。

前提

2 ≦ len(arr) ≦ 10000

goでの解答例

package main

func solution(arr []int) []int {
    // TODO: Implement me!

    // makeの引数: make([型/type], [長さ/len], [容量/cap])
    // len():組み込み関数  / 返り値は、「バイト長」で行われる

    result := make([]int, len(arr))
    for i, v := range arr {
        result[i] = v * 2 
    }

    return result
}

PHPでの解答例

<?php
    function solution($arr) {
        // TODO: Implement me!
        if (!$arr) {
            return [];
        }

        foreach ($arr as $key => $row) {
            $output[$key] = $row * 2;
        }

        return $output;
    }
?>

参考資料

感想

もし今回の記事の内容が誰かの役立てば、幸いです。
表題とは関係のない話ですが、著者は現在goの勉強をしています。今回、静的言語は初めて使う為、簡単な問題でも書き方が分からず、解くのに凄く時間を要しました。goについては、もっと勉強する必要ありますねw

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?