advent of code day 3: i might be r-slurred edition

idk how to do multi line spoilers lol



letters = ['','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

total_score = 0

team = []

for line in open("input.txt"):
    team.append(line.strip())

for i in range(2, len(team), 3):
    for letter in team[i]:
        if letter in team[i-2] and letter in team[i-1]:
            total_score += letters.index(letter)
            break

print(total_score)

some real caveman shit but it works

80
Jump in the discussion.

No email address required.

mine was similar

import string

TRANS_LIVES_MATTER = [None]
TRANS_LIVES_MATTER.extend(letter for letter in string.ascii_lowercase)
TRANS_LIVES_MATTER.extend(letter for letter in string.ascii_uppercase)

with open("day3input.txt") as f:
    rucksacks = f.read().split("\n")

# task 1

value = 0

for rucksack in rucksacks:
    i = int(len(rucksack)/2)
    compartments = (rucksack[:i], rucksack[i:])
    for item in compartments[0]:
        if item in compartments[1]:
            value += TRANS_LIVES_MATTER.index(item)
            break

print(value)

# task 2

value = 0

for i in range(0, len(rucksacks), 3):
    group = tuple(set(rucksack) for rucksack in rucksacks[i:i+3])
    badge = ("".join(group[0].intersection(group[1], group[2])))
    value += TRANS_LIVES_MATTER.index(badge)

print(value)
Jump in the discussion.

No email address required.

intersection()-cels rise up.

Jump in the discussion.

No email address required.

:#cap: :marseykneel#:

Jump in the discussion.

No email address required.

zoz

Jump in the discussion.

No email address required.

zle

Jump in the discussion.

No email address required.

zozzle

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.