概要
転職活動、就職活動を行なっていると、コーディングテストを受ける機会があるかと思います。
その際、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