Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re (tilly) 2: Golf challange: match U.S. State names

by MeowChow (Vicar)
on Jun 06, 2001 at 03:40 UTC ( #86067=note: print w/ replies, xml ) Need Help??


in reply to Re (tilly) 2: Golf challange: match U.S. State names
in thread Golf challange: match U.S. State names

124 chars, using that set :)

sub state { pop=~/^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[STY]|LA|M[ADEINOST]| +N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$/ }
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print


Comment on Re: Re (tilly) 2: Golf challange: match U.S. State names
Download Code
Re (tilly) 4: Golf challange: match U.S. State names
by tilly (Archbishop) on Jun 06, 2001 at 06:20 UTC
    Your subroutine will accept "AK\n" as a state. Fixing that takes it to 125. But I can beat that with the following 122 character solution (which is what I was trying to figure out when I posted my first):
    sub state{ $_[0]=~/^\w\w\z/&&grep/$_[0]/,'WVTNHINMSCORIDCAKSDE WIALAR MNCTX NVAZ' +,'FLGAILKTKYMAMDMEMIMOMTNDNENJNYOHOKPAUTWAWY'=~/../g }
    OTOH I can improve your idea down to 119:
    sub state { pop=~/^([CGILPVW]A|[CKUV]T|[HRW]I|A[KLRZ]|CO|DC|DE|FL|I[DLN]|KS|KY|M[A +DEINOST]|N[CDEHJMVY]|O[HKR]|SC|SD|TN|TX|WV|WY)\z/ }
      Your first one can go down to 121:
      sub state{ grep$_[0]eq$_,'WVTNHINMSCORIDCAKSDE WIALAR MNCTX NVAZ'=~/(?=(\w\w))/ +g,'FLGAILKTKYMAMDMEMIMOMTNDNENJNYOHOKPAUTWAWY'=~/../g }
      ... or you could have just taken the easy route by converting the && into an &.
         MeowChow                                   
                     s aamecha.s a..a\u$&owag.print
Re: Re: Re (tilly) 2: Golf challange: match U.S. State names
by bwana147 (Pilgrim) on Jun 06, 2001 at 12:45 UTC

    And 2 characters less by group the first letters too:

    sub state { pop=~/^(A[KLRZ]|C[AOT]|D[CE]|I[ADLN]|K[STY]|M[ADEINOST]|N[CDEHJMVY +]|O[HKR]|S[CD]|T[NX]|V[AT]|[GLP]A|[HR]I|FL|UT|W[AIVY])$/ }

    --bwana147

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://86067]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (17)
As of 2014-11-24 18:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (144 votes), past polls