diff options
Diffstat (limited to '2020/seven.nim')
-rw-r--r-- | 2020/seven.nim | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/2020/seven.nim b/2020/seven.nim index 7e20dcc..91f333f 100644 --- a/2020/seven.nim +++ b/2020/seven.nim @@ -3,9 +3,9 @@ import os, strutils, sequtils, sugar let input: string = paramStr(1) let rules: seq[tuple[outer: string, inner: seq[string]]] = - map(split(strip(readFile(input)), '\n'), - rule => (replace(split(rule, " contain ")[0], " bags"), - split(replace(replace(replace(split(rule, " contain ")[1], " bags"), " bag"), "."), ", "))) + input.readFile().strip().split('\n') + .map(rule => (rule.split(" contain ")[0].replace(" bags"), + rule.split(" contain ")[1].replace(" bags").replace(" bag").replace(".").split(", "))) proc outside(color: string): seq[string] = for rule in rules: @@ -22,5 +22,5 @@ proc inside(color: string): int = else: result += parseInt($bag[0]) * (inside(bag[2..^1]) + 1) -echo len(deduplicate(outside("shiny gold"))) +echo outside("shiny gold").deduplicate().len echo inside("shiny gold") |