- learningduck ( @learningduck@programming.dev ) 8•10 months ago
It’s such a shame. Day 4 part 2 took me much longer to codify my idea in Rust correctly than I would like to admit.
I’m so tempted to switch to a simpler language, but I wouldn’t learn Rust then.
- cabhan ( @cabhan@discuss.tchncs.de ) English6•10 months ago
I started off this year with Go, and after the first three days, I was so happy to switch to Rust for today. It’s one of my absolute favorite programming languages, but I never use it at work, so it’s one of my joys of Advent of Code.
- abir_vandergriff ( @abir_vandergriff@beehaw.org ) 6•10 months ago
Day 1 wasn’t so bad, depending on approach. People got tripped up hard with replacing strings because of the old “twone.” If you didn’t happen to do string replacements it wasn’t so bad.
Day 3 absolutely wrecked me though - and my overall rank was still pretty significantly better than it had been on days 1 and 2.
- whats_all_this_then ( @whats_all_this_then@programming.dev ) 5•10 months ago
On the flip side, twone absolutely ruined my life. Worst part was that I was looking at it and thinking “yes I handled that edge case and am only taking the first number, why’s it not working”
Everything else has been a breeze. I’m using typescript and it’s been chill.
- Pluckerpluck ( @Pluckerpluck@programming.dev ) 5•10 months ago
If you didn’t happen to do string replacements it wasn’t so bad.
Yeah. I was using regex to find the numbers as a quick implementation before realizing that floor. Just switched it to use a positive lookahead to solve that issue.
Day 3 was one of those challenges that if you thought of a good method quickly it wasn’t too bad. Ended up compiling strings and using regex again. Worked really well actually.
- Black616Angel ( @Black616Angel@feddit.de ) 1•10 months ago
Not only replacing didn’t work. I did it as a regex, but Rusts regex crate only supports non-overlapping matches.
- Faresh ( @Faresh@lemmy.ml ) English3•10 months ago
Python’s
re
also only supports non-overlapping matches and only one direction, so what I did wasspoiler
I looked for the first digit/word using the regex. Then for the last digit/word, I inverted the string and the regex (so I was matching the words eno, owt, eerht, etc.) and took the first occurence, and inverted that in case it was a word, and then I had my last digit. I just had to pay attention to only include the
|\d
after inverting the regex, sinced\|
is not right.There are probably more elegant ways, but I couldn’t come up with anything as simple as this.
- dukk ( @dukk@programming.dev ) 2•10 months ago
Oh, cool, I did pretty much the same thing, just finding the words manually instead (didn’t want to use any external libraries, so I just wrote a function to search for me. Haskell doesn’t have much for OOT B functionality).
- Black616Angel ( @Black616Angel@feddit.de ) 2•10 months ago
Oh, nice.
I just replaced those compounded words with their non-overlapping counterparts.
- Hammerheart ( @Hammerheart@programming.dev ) 3•10 months ago
I didnt even finish part 1 of day 3
- the_beber ( @the_beber@lemm.ee ) 2•10 months ago
Day 1 was easy for me, because the standard library of the language I use has both a method for searching for the first substring, that matches a predicate, and one for the last one.
Day 3 was a little tricky though, I concur.