Reverse the alphabet so that abc => zyx
and ABC => ZYX
Examples:
("code") => "xlwv"
("Golf") => "Tlou"
("1Avva8TT") => "1Zee8GG"
^You can assume that you will always recieved a valid string
Reverse the alphabet so that abc => zyx
and ABC => ZYX
Examples:
("code") => "xlwv"
("Golf") => "Tlou"
("1Avva8TT") => "1Zee8GG"
^You can assume that you will always recieved a valid string
Language: Perl 5.14 (inspired by BrianDGLS' JavaScript solution)
Length: 42 40
Solution:
sub R{pop=~s/[a-z]/chr(31^4+ord$&)/rige}
Language: PHP
Length: 120
Solution:
function r($w){return preg_replace_callback('/[a-z]/i',function($m){$c=ord($m[0]);return chr(($c<91?155:219)-$c);},$w);}
Language: PHP
Length: 199
Solution:
function a($a){$b=range('a','z');$s='';foreach(str_split($a)as$l){$r=array_search(strtolower($l),$b);$c=ctype_upper($l);$i=25-$r;$n=($c)?ucfirst($b[$i]):$b[$i];$s.=($r !== false)?$n:$l;}return $s;}
Language: C
Length: 147
Solution:
void r(char *c) { for(int i=0; i<strlen(c); i++) { if (iswlower(c[i])) c[i] = 'z' - (c[i] - 'a'); if (iswupper(c[i])) c[i] = 'Z' - (c[i] - 'A'); }}
Language: Javascript
Length: 67
Solution:
_=>_.replace(/[A-Z]/gi,$=>String.fromCharCode($.charCodeAt()+4^31))
Language: PHP
Length: 76
Solution:
function r($x){$l=str_split($x);foreach($l as $i){echo chr(ord($i)+4^31);}}
Language: PHP (v5.4 — deprecated use of /e
modifier)
Length: 73
Solution:
function r($w){return preg_replace('/[a-z]/ei','chr(ord(\\0)+4^31)',$w);}
or 50 characters without the function()
wrapping:
preg_replace('/[a-z]/ei','chr(ord(\\0)+4^31)',$w);
Language: Python 2.7
Length: 51
Solution:
f=lambda s:`map(lambda x:chr(31^4+ord(x)),s)`[2::5]
Language: Ruby
Length: 176
Solution: