【CodeWars】11/8~11/14に解いた問題たち
記事の概要
僕が1週間に解いたCodeWarsのまとめです。
PHP 7.0を使用しています。
Form The Largest
レベル
7kyu
概要
与えられた数字の最も大きい組み合わせを返す。
書いたコード
ソート系の戻り値がbooleanではなく、ソート後の配列だったら一行で書けるのに。
function maxNumber($n) { $num_array = []; $num_array = str_split($n); rsort($num_array); return (int)implode('', $num_array); }
Tidy Number (Special Numbers Series #9)
レベル
7kyu
概要
与えられた数字の並びが小→大になっているか調べる。
書いたコード
function tidyNumber($n) { $num_array = []; $sorted_num = 0; $num_array = str_split($n); sort($num_array); $sorted_num = implode('', $num_array); return $n == $sorted_num ? true : false; }
Remove anchor from URL
レベル
7kyu
概要
与えられた文字列(URL)の#以下を除去して返す。
書いたコード
explodeやstrtokで解いている人もいた。
function replaceAll($string) { return preg_replace('/#\w*/', '', $string); }
Row Weights
レベル
7kyu
概要
与えられた配列の数値を交互に別々の変数に足し合わせる。
書いたコード
function rowWeights($arr) { $row1 = 0; $row2 = 0; foreach ($arr as $key => $value) { $key % 2 == 0 ? $row1+= $value : $row2+= $value; } return [$row1, $row2]; }
Get the mean of an array
レベル
8kyu
概要
配列の要素の平均値を少数切り捨てで返却する。
書いたコード
function get_average($a) { return floor(array_sum($a)/count($a)); }
Maximum Product
レベル
7kyu
概要
配列の隣接する要素同士の掛け算の結果が最も大きいものを返却する。
書いたコード
function adjacentElementsProduct($array) { for ($i = 0; $i < count($array) -1; $i++) { if ($max < $array[$i] * $array[$i + 1]) { $max = $array[$i] * $array[$i + 1]; } } return $max; }
Is n divisible by x and y?
レベル
8kyu
概要
nをxとyで割り切れるかどうかを調べる。
書いたコード
// return $n % $x == 0 && $n % $y == 0 ? true : false; if ($n % $x == 0 && $n % $y == 0) {return true;} return false;