Advent of Code: Day 6 Solution

This year, I’m posting my solutions to the puzzles in the Advent of Code. Each post will consist of pseudocode, with a link to the actual code I used to solve the puzzle on Github.

And now, on with the solution:

Day 6, part 1

Simplified problem: Given a list of inputs, calculate the most frequent characters in each column

Solution

1. Set input=(input)
2. Set numColumns to input character’s length
3. Set message=nothing
4. For i=1 to numColumns (loop through columns)
5. For each line in input
1. Set columInput=nothing
2. For each line in input
1. Append the first character of line to columnInput
3. End For
4. Set distinctCharacters = distinct characters in columnInput
5. Sort distinctCharacters in descending order
6. Add the first character in distinctCharacters to message
6. End For
7. Return message

Day 6, part 2

Perform the same task, but calculate the least frequent characters in each column.

Solution

• Perform the same steps as in Day 6, part 1, however in step 5.6 add the last character in distinctCharacters to message

You can find the full solution on Github