- https://www.codewars.com/kata/5968bb83c307f0bb86000015 Basic Nico variation.
Started at 22:26 28.09.2020 Monday Sep.
Finished at 23:01 28.09.2020 Monday Sep. (0hrs 35minutes)
Started at 22:26 28.09.2020 Monday Sep.
Finished at 23:01 28.09.2020 Monday Sep. (0hrs 35minutes)
<?php | |
# https://www.codewars.com/kata/5968bb83c307f0bb86000015 Basic Nico variation. | |
function nico(string $key, string $message): string { | |
$key_arr = str_split($key); | |
$order = array_values(array_unique(str_split($key))); | |
sort($order); | |
// var_dump($order); | |
$key_arr = array_map(function($x) use ($order){ | |
return array_search($x,$order); | |
},$key_arr); | |
// var_dump($key_arr); | |
$size = count($key_arr); | |
echo "key: ".implode("",$key_arr)." \n"; | |
$array = array_fill(0,$size,""); | |
$answer = array_fill(0,$size,""); | |
foreach(str_split($message) as $k=>$v) $array[$k%$size] = $array[$k%$size] . $v; | |
// var_dump($array); | |
$max = max(array_map("strlen",$array)); | |
// var_dump($max); | |
foreach($array as $k => $v) $array[$k] = str_pad($v, $max, " "); | |
//var_dump($array); | |
foreach($key_arr as $k => $v) $answer[$v] = str_split($array[$k]); | |
//var_dump($answer); | |
$answer_string = ""; | |
for($i = 0 ; $i < $max; $i += 1) | |
for($j = 0; $j < $size; $j += 1) | |
$answer_string .= $answer[$j][$i]; | |
return $answer_string; | |
} |