-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodeAdventDay2.hs
More file actions
10 lines (10 loc) · 7.57 KB
/
codeAdventDay2.hs
File metadata and controls
10 lines (10 loc) · 7.57 KB
1
2
3
4
5
6
7
8
9
10
ids = ["naosmkcwtdbfivxuphzweraljq","nvssmicltdbfiyxuphzgeraljq","nvosmkcwwdbfiyxuphzeeraljx","nvosmkcqtdbfiyxupkzgeraljw","qvosmkcwtdbhiyxuphzgeraljh","nvocqkcktdbfiyxuphzgeraljq","nvosmhcwtdbfiyxmphzgekaljq","nvosmkcwtdbfuyxwpszgeraljq","nvosmocwtcbfiyxupfzgeraljq","nvosmkcwtdbfiyxubczgeraljv","nvosmkswtdbfiyxuphzgeruejq","nlosmkcwtqbfiyxuphzgyraljq","nvosmkcwtdbficxuphzgwraljk","nvosmkkwtdbfiyxxphzgeralcq","vvosmkcetdbfiyxumhzgeraljq","evosmkcdtdbfiyxuphkgeraljq","nvosmkvwtdbkiyxuphzgeraejq","nvoszkcwtdbfimxuphzgeraljb","nvozmkcwtdbfiyxuphzgrrcljq","nvosvacwtdbfiyxuphzgeralzq","nvosmkcwgdofiyxuthzgeraljq","nvosmkcwasbfiyxuphzgeradjq","nvosmkcatobfiyxtphzgeraljq","nvosmkewtdsfiyxuphzgekaljq","tvormkcwtdbfiyxuphzieraljq","nvosgkcwtdbfiyxuuhzgeraqjq","nvosmkcwtdbqiwxuphzgeralvq","nvosmkcwtybfiydcphzgeraljq","nvosnkcwtdbfiyxuphzulraljq","nvosmkcwtdbbiyuupnzgeraljq","nvosmwcwtdbfiyxuphzneraojq","nvohlkcwtdbftyxuphzgeraljq","nvasmkcwbdbfiyiuphzgeraljq","nvosmkujtdbfiyxuphzgeraljz","nvosmgcstdbfiyxuphzgeraljd","nvoswkcwtsbziyxuphzgeraljq","nvosmmcwtdbfiyxupbzzeraljq","nvosmkcwtdbfifxulhzgeralji","nvolmkcwtdbmiyxuphzgeraljv","lvnsmkcwtdbfiyxuphzzeraljq","nvqsmkcwtdbfiyxuphageralfq","nvosmkcwtdmfiyluphzgeralzq","nvommvcwtdbfiyxupjzgeraljq","naosmkcwtdbfsyxuphzgsraljq","avosmkcwtdbfiyxuphzgebafjq","ndozmkcwtdbfiyxuhhzgeraljq","nvosmkcwtubfiyxuphooeraljq","nvosmkcwtdbliyxuphzgmraljx","nvosmkcuddbfimxuphzgeraljq","wvosmkzwrdbfiyxuphzgeraljq","nvosmkcqtdbfiyxupjzgeraijq","nvosbkcwtdbfiyduphzgeruljq","yzosmkcntdbfiyxuphzgeraljq","nvolmkcwtdbfiyxuphugeralfq","nvrsmkcwtdbjiyxuphzgejaljq","nvgsmkcwtdbfiyxuphoglraljq","nvosmkcwtdbfioxuphzgezalhq","nvosjkcwtdbfipxuphzgekaljq","nvosmkcwtabfiyxlpazgeraljq","nvosmkfwtpnfiyxuphzgeraljq","nvokmbcwtdbeiyxuphzgeraljq","nvosmkcwtdbfiyxupmzgmlaljq","nvosmkcwtdhfiykurhzgeraljq","nvosmkcwwdbfiyxumhzgiraljq","cvosmscwtdbfikxuphzgeraljq","nvosmkcwtdnzirxuphzgeraljq","nvosmscwtdbfiyxuuhbgeraljq","nvosmkcwtdbfidxpphzgeraajq","nvosmkcwtdbfiyxuqhzgurcljq","nvosmkcwtekfiyxrphzgeraljq","ntosmkcwtpqfiyxuphzgeraljq","nvosmkcdtdbfhyxsphzgrraljq","nvolmkkwtdbfiyxuphzgeralgq","nvosmrcwtdbfiyxuphzgefkljq","nvoxmkcwtdbfiysuphzeeraljq","nvjsmkswtdbfiyxuphzqeraljq","nvosmkcetdbfiyfuphdgeraljq","nvosmkkwtpbfsyxuphzgeraljq","nvosdgcwtdbfiyxupyzgeraljq","nvosmkcwudbfiyzvphzgeraljq","nvosmkcwtlbfiyxupkzgerzljq","nvosmkcwtdbfiywuphyzeraljq","nvocmkcwtdufiyxukhzgeraljq","nvosmkcwtdqfiyxuphzgevaxjq","nvosvkcwtdbgiyxuphzgeralzq","nqosmkcwtdbfiyxuphzeeraljr","nvosmkcetdbfiyxuphzgeroljo","nvosmkcwtdvfiyxuphzceraliq","nvosmkcwtnxfiyxuphzgyraljq","nvosmkfwtdefiyxupxzgeraljq","nvosmacwtdbfiyxuphzseragjq","nvpsmkcwtdbfzyxuvhzgeraljq","nvormkcwtdbfiyxuphzairaljq","rvysmkcwtdbfmyxuphzgeraljq","nvosmscwzdbfiyxuphzgerbljq","nvosmkcwtdufmyxuphzqeraljq","nvosmkcwtxbfiyxxphzgeralxq","nvosmkcwtdbsiyxupsfgeraljq","nvosmccwtdbfiqxuthzgeraljq","nvosmtcwtqbuiyxuphzgeraljq","nvosmkcwtdbfiysurbzgeraljq","nvowmkcwtdbfiyxuywzgeraljq","xvosmkcktdbfiyxuhhzgeraljq","nvosmkgwsdbfiyxmphzgeraljq","jvofmkcwtdbfiyxupyzgeraljq","nvozakcwtdbfiexuphzgeraljq","nvosmkcptdbfiyxuphzgepaljn","nvosmkcwtdbpiyxuphzgeraxjw","nvoszkcwtdbfiyjuphzeeraljq","nvosmkcwtdbfiyxuppzoeraejq","nvosmkiytdbfiyhuphzgeraljq","nvosmkcwtdvfiywupyzgeraljq","nvosmecwtdofiyxuphzgeralja","nvosmkqwtdbfixxuphzgeraojq","nvosmkwwtdbfiyxfpdzgeraljq","nvosmkgwtdbfiyzupwzgeraljq","nmosmucwtdvfiyxuphzgeraljq","nvosmdcwtdbmiyxuphzveraljq","wvosmkcwtpbfiyxuphzgetaljq","nvosmmcwtdlfbyxuphzgeraljq","nvosmkcwtabmiexuphzgeraljq","nvosqpcwtdbfiyxuphzgqraljq","nvosmecwjdbfiyxuphzgeraljk","nyohmkcwtdbfiyxuphzgzraljq","nlosmkcwtkbfiyxuphzgeraejq","nvosmkcwrdbliyxuphzgerpljq","nvusmkzwtdbfxyxuphzgeraljq","nvosmkcwtdbfiyxuhizgerazjq","nvosmkhptdbfbyxuphzgeraljq","nvosmfcwtdbgiyxupdzgeraljq","nvosmkmwtdbfiyxuphzgevalpq","nvosmkcwtdwfiyxuphzherjljq","nvosmkcwjwbfiyxuphzgeualjq","nvosmkcwxdbflymuphzgeraljq","nvosmkcwpdbriyxuphzoeraljq","nvoshkcwcdbfiyxuphzgeravjq","nvosmkcetcbfiyxgphzgeraljq","nvosmkcwtdyfiyxuphzgerwqjq","nuosmkcwedbfiyxurhzgeraljq","nvosmkcwtdbfiixuphzctraljq","nvoszkcwtdbfwyxuphzgerpljq","nvormkcwtdbfiyxuphzgeralzn","nvosmkyttdbfiywuphzgeraljq","nvosmkcwtdbhiyxupazgeralhq","nvotmkcwtdbfiyxuphzgevalbq","nvosmkcwedbfiyxuphzguraljr","nvssmkcwtdbfiyxushzgeralbq","nvosmkcwtdeziyxuphzgeralhq","nvogmkcwtdbfiyxuphzgerrxjq","ncormkcwtdbfiyxuphzgeraloq","nvosmkcwbdbfiyeuphzgerqljq","nvosxkcwtdbfsyxupfzgeraljq","nvohmkcwtdbfiyxuphzseraajq","nvoscdcwtdbfiyxuphzgeralqq","neosmkcwtdbfiyxuchzgeralgq","njosmvcwpdbfiyxuphzgeraljq","nvosmkcwtwbfiyxuphzgehamjq","nvosmkcwtdbfiyxushzgejaljv","nvosmkcwodbfiyxuphzgeryqjq","nvoymqcwtdbfiyxuphzgeralbq","nvosmkcwtdjfiyxuphzgesaljb","nvjsmdcwedbfiyxuphzgeraljq","nvosmkcwydbfiyxuihzmeraljq","nvrsmkcwtdifiyxuphzgqraljq","nposmkcwtdbfiyxiohzgeraljq","dvosmkcwtdbfiyxuphzrvraljq","pvosmkcwudbfsyxuphzgeraljq","noosmkcwtdbfiyxuphtgexaljq","nvosmkcwtdbfiaxuphyferaljq","nvhsmlcwtdbfiyxuphzgeualjq","nvosekcwtdbbiyxuphzgerabjq","nvosvkcitdbfiyxuphzgerarjq","nvotmkkwtdbfiyxuphzgeraljj","nvosmecwtdbfiyxuphzgyralwq","hvosmkcwtdbfiyxuphzysraljq","nvosmkcvtdbfiyxlphzgeraljb","nvosmkcwttbfiyxuphngtraljq","nvoslkcwtdbfiyxuphzqeraljr","nxosmkcwtdbfibxuphzgrraljq","nvokmkhwtdbfiyxuphzgwraljq","nvosmkfwtdbfiyxuphzgdraljo","nvcsmkcwtdbfibxuphzgeraljl","nvosmkcwtdcfiaxuphzeeraljq","wvosmkcwtdbyiyxjphzgeraljq","nyosmbcwtjbfiyxuphzgeraljq","nvosmkcwtdbiiyxuahzieraljq","nqosmkcwtdbfiyxuyhzgerapjq","nvosmkcwtdbfiyxuwhzzetaljq","nvosmkcwfgbfiyxuphzgerrljq","nvosmbcwtdbfipxuphzderaljq","nvosmkcwtdgfiyxupdzgerjljq","noosmkcwtdcfiyxuphlgeraljq","nvonmkcutdbfiyxuphzieraljq","nvocmkcwtdbfiyyuphageraljq","nvosmkcwtdbfoyxuphzneraqjq","nvoskkcwtdbtiyxuphzgevaljq","ocosmkswtdbfiyxuphzgeraljq","nvosmkcqtdbfiyxfvhzgeraljq","noosmkcwtdbfiyquphzberaljq","nvosmkcwttbfijxuchzgeraljq","nvogmkcwtdbfiyxupazgeralaq","nvqsmkcwtdbfikxuphzgeraliq","nvosmkuwtdbfiyxuphzjwraljq","nyosmhcwtdbfiyxuphzgereljq","nvosmncwtdbfietuphzgeraljq","gvpsmkcwtdbfiyxuyhzgeraljq","nvozmkewtlbfiyxuphzgeraljq","nvostkcltpbfiyxuphzgeraljq","nvosmkcwtdbdiyxuphzgehaljz","nvosmkcwtjbziyxuphzgexaljq","nvosmkcwtdbfiyptphzggraljq","nvosmkcwtdbliyxupjzgebaljq","nvosmkawtdbfiyxupxzgtraljq","vvosmkcwtdbfiyxfphzperaljq","nvosmkawtdbfiyxutczgeraljq","nvosmkcbtdbuiyxrphzgeraljq","nvbsmkcwtdbfiyxdphzgerasjq","nvosnkcwqdsfiyxuphzgeraljq","nvosmkcwtdbfiyxwphzgzzaljq","nvosmkcwtdbffyquphzgeralcq","nvosmkcwtzbfiyxdphzgzraljq","nvysmkcwtdbfiycvphzgeraljq","nvowmkcwtdbfiycuyhzgeraljq","nvosbkcwtdbfiyiuphzgeraqjq","nvosmecwtdbfiyxupqzmeraljq","nvosmkcdtdbfhyxsphzgeraljq","nmosmkcwtdbziyxuphzgercljq","nvosmkcwtdbfiyxupfmgersljq","nvosmkcvtdbpyyxuphzgeraljq","nvosmkcwtkbfiyaupxzgeraljq","nvosmkcwtzbiiyxuphzgerazjq","nvoxmkcwtdbfiyxuphztegaljq","nvonmkcwtdafiyxuphzgerkljq","rvommkcwtdbfiyxzphzgeraljq","nvosmkcwthbfiysuphzgeraxjq","nvosmkcwtdbfnyxuphzgerccjq","nrosmzcwtdbfiyxuphkgeraljq","nvolmkcdtdbfiyxuphtgeraljq","nvosfkcwtdbfiyeuphcgeraljq","nvowmkcwtdbfhyxuphzgerafjq","gvosmkcwtdbfiyxupbpgeraljq","nvosmkcwtdbkiyxuphegebaljq","nvommufwtdbfiyxuphzgeraljq","uvksmkcwtdbfiysuphzgeraljq","nvosmkcwevbfiyxuphtgeraljq","nvosmkcmtdbfiycuphzgeraxjq","nvcsxkcwtdbfiyxuphzgeraljn","nvosmkcwtdbtiymuphzgeraltq","nvosmfcwtdlfjyxuphzgeraljq","svosmkcitdbfiyxuphzgsraljq"]
times_repeated :: Char -> [Char] -> Int
times_repeated char string = length (filter (==char) string)
get_repeat_counts :: [Char] -> [Int]
get_repeat_counts string = [times_repeated char string | char <- string]
has_repeat :: Int -> [Char] -> Bool
has_repeat num string = elem num (get_repeat_counts string)
ids_with_two_repeats = [id | id <- ids, has_repeat 2 id]
ids_with_three_repeats = [id | id <- ids, has_repeat 3 id]
checksum = (length ids_with_two_repeats) * (length ids_with_three_repeats)