Cyno

joined 2 years ago
[โ€“] Cyno@programming.dev 2 points 2 years ago

๐Ÿคทโ€โ™‚๏ธ Downvotes are meaningless, I'd rather see them give an actual counterargument if they have one but im used to it from reddit

[โ€“] Cyno@programming.dev -2 points 2 years ago* (last edited 2 years ago) (2 children)

That's not really a good solution although it is a temporary workaround.

  • Many users won't know this is a feature they can use, or how to set it up
  • Some users use alternative instances that federate with lemmy which might not have this feature
  • Content still gets copied and hosted on this instance which might not be desireable

Besides, at the end of the day, shouldn't the admins and mods here curate the content according to the community's guidelines and spirit? If someone started spamming undesired content on a forum you're administrating, the answer wouldn't be "all the users can just block it if it's an issue". I don't think it should be the answer here either

[โ€“] Cyno@programming.dev 2 points 2 years ago (1 children)

Having a prepared grid helper for AoC is a 150IQ move ๐Ÿ˜

[โ€“] Cyno@programming.dev 1 points 2 years ago (3 children)

I went with a matrix approach and was just planning to handle it through indexes but kinda gave up halfway implementing the finding of numbers, their start/end positions... I'm guessing a regex but that might have issues if we have identical numbers later, so not sure. Will surely go back to it eventually though :P

[โ€“] Cyno@programming.dev 3 points 2 years ago

Was pretty simple in Python with a regex to get the game number, and then the count of color. for part 2 instead of returning true/false whether the game is valid, you just max the count per color. No traps like in the first one, that I've seen, so it was surprisingly easy

def process_game(line: str):
    game_id = int(re.findall(r'game (\d+)*', line)[0])

    colon_idx = line.index(":")
    draws = line[colon_idx+1:].split(";")
    # print(draws)
    
    if is_game_valid(draws):
        # print("Game %d is possible"%game_id)
        return game_id
    return 0

            
def is_game_valid(draws: list):
    for draw in draws:
        red = get_nr_of_in_draw(draw, 'red')
        if red > MAX_RED:
            return False
        
        green = get_nr_of_in_draw(draw, 'green')
        if green > MAX_GREEN:
            return False
        
        blue = get_nr_of_in_draw(draw, 'blue')
        if blue > MAX_BLUE:
            return False    
    return True
        
            
def get_nr_of_in_draw(draw: str, color: str):
    if color in draw:
        nr = re.findall(r'(\d+) '+color, draw)
        return int(nr[0])
    return 0


# f = open("input.txt", "r")
f = open("input_real.txt", "r")
lines = f.readlines()
sum = 0
for line in lines:
    sum += process_game(line.strip().lower())
print("Answer: %d"%sum)
[โ€“] Cyno@programming.dev 1 points 2 years ago (1 children)

Do share if you find the input that was causing trouble, I'm tripping on some miniscule error as well and i have no idea what could it be

[โ€“] Cyno@programming.dev 3 points 2 years ago

Oh god, sorry to hear that ๐Ÿ˜…i'm feeling desperate enough to try that, i just wrote a different implementation and i get the same (wrong) result. At this point I just want to know what i misunderstood or mistyped cuz its driving me crazy

[โ€“] Cyno@programming.dev 2 points 2 years ago (2 children)

I'm stuck on one of these intricacies now! I saw some of the ideas on how other people did it but i honestly have no clue what i did wrong. Got any tricky examples to share?

[โ€“] Cyno@programming.dev 1 points 2 years ago

Oh sorry, just saw this thread and got excited, will delete to keep it clean

[โ€“] Cyno@programming.dev 1 points 2 years ago

Fetches from the database again, it's just a temporary bundle of data rather than a persistent cache. We have caching for commonly-read/rarely-updated entities but its not feasible for everything ofc.

[โ€“] Cyno@programming.dev 2 points 2 years ago (1 children)

If you find or run into that article later please share it, I'd definitely like to read it!

view more: โ€น prev next โ€บ