Skip to content

Instantly share code, notes, and snippets.

@nderscore
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nderscore/96aa888c77d275c26c15 to your computer and use it in GitHub Desktop.
Save nderscore/96aa888c77d275c26c15 to your computer and use it in GitHub Desktop.
My solution for the "My Daughter's Alphabet" problem on StackOverflow Code Golf. Reformatted for node.js output.
// input
s = 'I SAW THE MAN WITH THE BINOCULARS\n\
THEY ARE HUNTING DOGS\n\
FREE WHALES\n\
POLICE HELP DOG BITE VICTIM\n\
HE SAW THAT GAS CAN EXPLODE\n\
TURN RIGHT HERE\n\
WE SAW HER DUCK\n\
IN ANIMAL CRACKERS GROUCHO MARX AS CAPTAIN RUFUS T SPAULDING QUIPPED ONE MORNING I SHOT AN ELEPHANT IN MY PAJAMAS HOW HE GOT IN MY PAJAMAS I DONT KNOW\n\
SHIP SAILS TOMORROW\n\
BOOK STAYS IN LONDON\n\
WANTED A NURSE FOR A BABY ABOUT TWENTY YEARS OLD\n\
THE GIRL IN THE CAR THAT NEEDED WATER IS WAITING\n\
DID YOU EVER HEAR THE STORY ABOUT THE BLIND CARPENTER WHO PICKED UP HIS HAMMER AND SAW\n\
THOSE PROSECUTORS HAVE BEEN TRYING TO LOCK HIM UP FOR TEN YEARS\n\
FLYING PLANES CAN BE DANGEROUS\n\
I ONCE SAW A DEER RIDING MY BICYCLE\n\
TOILET OUT OF ORDER PLEASE USE FLOOR BELOW\n\
LOOK AT THE DOG WITH ONE EYE';
// code
for(a in s=s[o=_='',y='split']('\n'))for(i=0;x=s[a][i++];)o+=x!=0&&(l=s[a][y](x).length-~-o[y](x).length)>0?Array(l).join(x):_;console.log(o[y](_).sort().join(''));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment