Skip to content

Instantly share code, notes, and snippets.

@molcik
Last active December 21, 2016 19:57
Show Gist options
  • Save molcik/7d86903dfb86e446f26c83705ab76696 to your computer and use it in GitHub Desktop.
Save molcik/7d86903dfb86e446f26c83705ab76696 to your computer and use it in GitHub Desktop.
My solution for day 7 puzzle at adventofcode.com
let data = `xdsqxnovprgovwzkus[fmadbfsbqwzzrzrgdg]aeqornszgvbizdm
itgslvpxoqqakli[arktzcssgkxktejbno]wsgkbwwtbmfnddt[zblrboqsvezcgfmfvcz]iwyhyatqetsreeyhh
...
kpglgg[mpvkikuabwucwlpqf]cmzkcdnrhwjmfgbmlq
spwwppgjgfexuezrixp[rotgzyxzqxyrroafx]tkwxfiamzdjdqpftvq`;
let dataArray = data.split(/\n/);
// finds ABBA pattern in square brackets
let inBracketsRegEx = /(?=\[[a-z]*([a-z])([a-z])\2\1[a-z]*\])(?!\[[a-z]*([a-z])\1{3}[a-z]*\])/;
// finds ABBA pattern
let matchRegEx = /(?=([a-z])([a-z])\2\1)(?!([a-z])\1{3})/;
dataArray = dataArray.filter( address => !inBracketsRegEx.test(address) );
dataArray = dataArray.filter( address => matchRegEx.test(address) );
console.log(dataArray.length);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment