- https://www.codewars.com/kata/5ca24526b534ce0018a137b5 Texting with an old-school mobile phone.
Started at 22:15 01.09.2020 Tuesday Sep.
Funished at 3:07 02.09.20202 Wednesday Sep. (4hrs 52minutes)
Started at 22:15 01.09.2020 Tuesday Sep.
Funished at 3:07 02.09.20202 Wednesday Sep. (4hrs 52minutes)
<?php | |
# https://www.codewars.com/kata/5ca24526b534ce0018a137b5 Texting with an old-school mobile phone. | |
function sendMessage($message) { | |
$hash = [ | |
"a"=> "2", "A"=> "2", "b"=> "22", "B"=> "22", "c"=> "222", "C"=> "222", "d"=> "3", "D"=> "3", "e"=> "33", "E"=> "33", "f"=> "333", "F"=> "333", "g"=> "4", "G"=> "4", "h"=> "44", "H"=> "44", "i"=> "444", "I"=> "444", "j"=> "5", "J"=> "5", "k"=> "55", "K"=> "55", "l"=> "555", "L"=> "555", "m"=> "6", "M"=> "6", "n"=> "66", "N"=> "66", "o"=> "666", "O"=> "666", "p"=> "7", "P"=> "7", "q"=> "77", "Q"=> "77", "r"=> "777", "R"=> "777", "s"=> "7777", "S"=> "7777", "t"=> "8", "T"=> "8", "u"=> "88", "U"=> "88", "v"=> "888", "V"=> "888", "w"=> "9", "W"=> "9", "x"=> "99", "X"=> "99", "y"=> "999", "Y"=> "999", "z"=> "9999", "Z"=> "9999", "1"=> "1-", "2"=> "2-", "3"=> "3-", "4"=> "4-", "5"=> "5-", "6"=> "6-", "7"=> "7-", "8"=> "8-", "9"=> "9-", "0"=> "0-", "#"=> "#-", "*"=> "*-", "."=> "1", ","=> "11", "?"=> "111", "!"=> "1111", "'"=> "*", "-"=> "**", "+"=> "***", "="=> "****", " "=> "0", | |
]; | |
echo "$message \n"; | |
$ans = ""; | |
$case = "down"; | |
for($i = 0; $i < strlen($message); $i+=1){ | |
$char = $message[$i]; | |
if(preg_match('/[a-z]/i',$char)){ | |
echo "It is character. \n"; | |
$tmp = ""; | |
if(preg_match('/[a-z]/',$char)){ | |
$tmp = 'down'; | |
}else{ | |
$tmp = 'up'; | |
} | |
if($tmp != $case) { | |
$ans .= "#"; | |
} | |
$case = $tmp; | |
} | |
$set = $hash[$char]; | |
$emtpy = (!empty($ans)) ? 1 : 0 ; | |
$size = strlen($ans); | |
echo "this is ans = '$ans'\n"; | |
echo "'$char' => $set ($size , $emtpy) \n"; | |
if(($size != 0) && ($ans[strlen($ans)-1] == $set[0])) { | |
$ans .= " "; | |
} | |
$ans .= $set; | |
} | |
return $ans; | |
} |