Mercurial > hg > aoc
view 2017/day04/app.d @ 33:bc652fa0a645
Move all solutions to per-day subdirs
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Tue, 09 Jan 2018 21:50:37 -0500 |
parents | 2017/day04.d@c7b6dfd6eba6 |
children |
line wrap: on
line source
import std.stdio; import std.algorithm: filter, map, sort; import std.array: array; import std.string: split; import std.conv: to; auto allUnique(string[] arr) { bool[string] counter; foreach(elt; arr) { auto key = to!string(sort(elt.array)); counter[key] = true; } return counter.length == arr.length; } auto countUnique(string[][] passphrases) { return passphrases.filter!(allUnique).array.length; } void main(string[] args) { auto passphrases = File(args[1]) .byLineCopy .map!(split) .array; writeln(countUnique(passphrases)); }