Day 1: Historian Hysteria

Megathread guidelines

  • Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
  • You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://blocks.programming.dev if you prefer sending it through a URL

FAQ

  • TunaCowboy@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    25 days ago

    python

    I didn’t realize it was december until this afternoon. I’ve generally chosen a new or spartan lang to challenge myself, but I’m going easy mode this year with python and just focusing on meeting the requirement.

    solution
    import aoc
    
    def setup():
        lines = aoc.get_lines(1)
        l = [int(x.split()[0]) for x in lines]
        r = [int(x.split()[1]) for x in lines]
        return (l, r, 0)
    
    def one():
        l, r, acc = setup()
        for p in zip(sorted(l), sorted(r)):
            acc += abs(p[0] - p[1])
        print(acc)
    
    def two():
        l, r, acc = setup()
        for n in l:
            acc += n * r.count(n)
        print(acc)
    
    one()
    two()