Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: (Golf) Fragment Reassembly

by MeowChow (Vicar)
on May 03, 2001 at 10:55 UTC ( #77591=note: print w/ replies, xml ) Need Help??


in reply to (Golf) Fragment Reassembly

Ok, here's my current solution at 192 chars.

sub a{$#_?(sort{length$a<=>length$b}map{my$s=$_;my@l=grep{$s ne $_}@_; +map{my$t=$_;my@m=grep{$t ne $_}@l;a(i($s,$t),@m)}@l}@_)[0]:pop} sub i{($_,$t)=@_;chop$t while!s/\Q$t\E$/$_[1]/&&''ne$t;$_;} print a qw(logger gerbil log analog); print "\n"; print a qw(GATTACA ATTACA GATT AAGAT CCC);
update1: trimmed another 4 chars from the i sub, and stopped clobbering globals:
sub i{my($s,$t)=@_;chop$t while$s!~s/\Q$t\E$/$_[1]/;$s}
... if we're clobbering $_, we can trim another 5:
sub i{($_,$t)=@_;chop$t while!s/\Q$t\E$/$_[1]/;$_}
update2: 163 chars, strict and global-clean, all in one sub, named assemble (or 156 if it's named a):
sub assemble{$#_?(sort{length$a<=>length$b}map{my$s=$_;my@l=grep$s ne$ +_,@_;map{my($t,$u)=($s,$_);my@m=grep$u ne$_,@l;chop$u while$t!~s/\Q$u +\E$/$_/;assemble($t,@m)}@l}@_)[0]:pop}
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print


Comment on Re: (Golf) Fragment Reassembly
Select or Download Code
Re: Re: (Golf) Fragment Reassembly
by dws (Chancellor) on May 03, 2001 at 11:11 UTC
    Ok, here's my current solution at 192 chars.

    If we're only counting inside of sub assemble { ... } then I count 185 characters (and it passes my stress tests). Though if you use "assemble", as the problem statement suggests, you're up back up to 192 characters. Still, that's excellent.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2014-12-25 00:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (159 votes), past polls