54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
|
## \-\-- Day 4: High-Entropy Passphrases \-\--
|
||
|
|
||
|
A new system policy has been put in place that requires all accounts to
|
||
|
use a *passphrase* instead of simply a pass*word*. A passphrase consists
|
||
|
of a series of words (lowercase letters) separated by spaces.
|
||
|
|
||
|
To ensure security, a valid passphrase must contain no duplicate words.
|
||
|
|
||
|
For example:
|
||
|
|
||
|
- `aa bb cc dd ee` is valid.
|
||
|
- `aa bb cc dd aa` is not valid - the word `aa` appears more than
|
||
|
once.
|
||
|
- `aa bb cc dd aaa` is valid - `aa` and `aaa` count as different
|
||
|
words.
|
||
|
|
||
|
The system\'s full passphrase list is available as your puzzle input.
|
||
|
*How many passphrases are valid?*
|
||
|
|
||
|
Your puzzle answer was `383`.
|
||
|
|
||
|
## \-\-- Part Two \-\-- {#part2}
|
||
|
|
||
|
For added security, [yet another system
|
||
|
policy]{title="Because as everyone knows, the number of rules is proportional to the level of security."}
|
||
|
has been put in place. Now, a valid passphrase must contain no two words
|
||
|
that are anagrams of each other - that is, a passphrase is invalid if
|
||
|
any word\'s letters can be rearranged to form any other word in the
|
||
|
passphrase.
|
||
|
|
||
|
For example:
|
||
|
|
||
|
- `abcde fghij` is a valid passphrase.
|
||
|
- `abcde xyz ecdab` is not valid - the letters from the third word can
|
||
|
be rearranged to form the first word.
|
||
|
- `a ab abc abd abf abj` is a valid passphrase, because *all* letters
|
||
|
need to be used when forming another word.
|
||
|
- `iiii oiii ooii oooi oooo` is valid.
|
||
|
- `oiii ioii iioi iiio` is not valid - any of these words can be
|
||
|
rearranged to form any other word.
|
||
|
|
||
|
Under this new system policy, *how many passphrases are valid?*
|
||
|
|
||
|
Your puzzle answer was `265`.
|
||
|
|
||
|
Both parts of this puzzle are complete! They provide two gold stars:
|
||
|
\*\*
|
||
|
|
||
|
At this point, you should [return to your Advent calendar](/2017) and
|
||
|
try another puzzle.
|
||
|
|
||
|
If you still want to see it, you can [get your puzzle
|
||
|
input](4/input).
|