Advent of Code Solutions

I have set myself a personal challenge to try and get up to date with advent of code, a set of programming challenges released each December.

Each day has 2 related problems, for a total of 50 problems per year. Each button below will show my code solving that problem. Green buttons where I have solved both problems of the day, orange where I have only solved the first one and red where I haven't solved either.

2015 2016 2017 2018 2019 2020 2021 2022 2023 2024
Not started
Part 1 completed
Both parts completed
from util.input import get_input
from collections import defaultdict, Counter

def part_1():
    
    puzzle_input = get_input(2016, 6)

    columns = defaultdict(list)
    for line in puzzle_input.splitlines():
        for i, c in enumerate(line):
            columns[i].append(c)

    word = ''
    for i in range(len(columns)):
        word += Counter(columns[i]).most_common(1)[0][0]

    return word

def part_2():
    
    puzzle_input = get_input(2016, 6)

    columns = defaultdict(list)
    for line in puzzle_input.splitlines():
        for i, c in enumerate(line):
            columns[i].append(c)

    word = ''
    for i in range(len(columns)):
        word += list(Counter(columns[i]).most_common())[::-1][0][0]

    return word