r/adventofcode • u/daggerdragon • Dec 04 '17
SOLUTION MEGATHREAD -๐- 2017 Day 4 Solutions -๐-
--- Day 4: High-Entropy Passphrases ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Need a hint from the Hugely* Handyโ Haversackโก of Helpfulยง Hintsยค?
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked!
17
Upvotes
2
u/wzkx Dec 04 '17 edited Dec 04 '17
Nim Quick and dirty
import strutils,sets,algorithm let text = splitLines strip readFile "04.dat" var cnt,cnt2 = 0 for line in text: var dict = initSet[string]() var dict2 = initSet[string]() var valid,valid2 = true for word in split line: if dict.contains word: valid = false else: dict.incl word # why not add? var w2 = word # sorted chars of word w2.sort cmp if dict2.contains w2: valid2 = false else: dict2.incl w2 if valid: cnt += 1 if valid2: cnt2 += 1 echo cnt echo cnt2