• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Advent Of Code 2023

 
Bartender
Posts: 5469
212
  • Number of slices to send:
    Optional 'thank-you' note:
It is time again for the brainteasers. Enjoy!
 
Master Rancher
Posts: 4905
74
  • Number of slices to send:
    Optional 'thank-you' note:
Looking forward to it, thanks for the reminder!

For those not familiar with it, here's a link: https://adventofcode.com/

Lots of fun puzzles, nothing to see there for 2023 right now, but you can check out last year (or others) for more info: https://adventofcode.com/2022

There's a leaderboard or two specific to this board, that you can be added to if you ask here.
 
Sheriff
Posts: 5555
326
  • Number of slices to send:
    Optional 'thank-you' note:
Day one was trickier than I was expecting. Went round a couple of failed approaches before getting it. Overlapping words were problematic.
 
Sheriff
Posts: 17652
300
  • Number of slices to send:
    Optional 'thank-you' note:
Completed Day 1 & 2 in ugly Kotlin. Must brush up on my collections operations. Part 1 on both days were pretty straightforward but the Part 2s were a little rougher than I expected.
 
Tim Cooke
Sheriff
Posts: 5555
326
  • Number of slices to send:
    Optional 'thank-you' note:
I haven't had time to tackle day 2 at all yet. Looks ok just some fiddly string parsing as is the aoc way.
 
Piet Souris
Bartender
Posts: 5469
212
  • Number of slices to send:
    Optional 'thank-you' note:
Day 2 was straightforward, with the only problem (well, problem) to make something nice out of the input. Day 1B was not fully specified: should "twone" give us 22, 21 or 11? I took 21 and that worked.
 
Tim Cooke
Sheriff
Posts: 5555
326
  • Number of slices to send:
    Optional 'thank-you' note:
It depends on whether you're looking for the first or the last number.
 
Marshal
Posts: 8880
638
  • Number of slices to send:
    Optional 'thank-you' note:
I did not understand what was done with Day6 part2.

Seeing description I was almost sure it will be one of those cases "it would run forever" unless you greatly optimise it.
I was feeling silly even trying brute-force approach, but couldn't resist - and it wasn't the case.

So far the easiest one.
 
Liutauras Vilda
Marshal
Posts: 8880
638
  • Number of slices to send:
    Optional 'thank-you' note:
I did a bit of catching up... and I am still 2 days behind (Day 10 and Day 11).

This year problems are a bit harder than previous I'd say. So takes a bit less writing and more thinking.
 
Junilu Lacar
Sheriff
Posts: 17652
300
  • Number of slices to send:
    Optional 'thank-you' note:
I'm way behind: only starting Day 8 on this 18th day of Advent. But I'm learning a lot and having fun with Kotlin again. I think Day 7 has been my best solution so far. The Part 1s are pretty easy but the Part 2s have turned out to be harder that I thought they would be at first. Part of it is that I'm trying to fit Part 2 solutions in with the Part 1 solutions as best I can. I'm always looking to extract and abstract. Interestingly, there's also quite a bit of inlining and combining. It's great practice, plus the problems are fun.
 
Saloon Keeper
Posts: 15608
366
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:
I had to quit very early this year due to lots of stuff going on in my private life. I'm still intending to get on with it, but I probably won't have time for it in December.

A lot of the puzzles use the first part to put you on the wrong track: They kind of lead you in a direction that won't work for the second part, even with some tweaks.

My strategy is usually to write a very quick and dirty solution for the first part, then start from scratch to solve the second part. When I've solved the second part, I like to refactor it a bit so that the first part is a special case of the general solution.
 
Junilu Lacar
Sheriff
Posts: 17652
300
  • Number of slices to send:
    Optional 'thank-you' note:
Day 9 was interesting in terms of learning. Very satisfying, too.

After reading the problem, I knew I'd be writing a recursive solution. Sure enough, I got an initial one to work with the examples pretty quickly. But when I ran it against my puzzle data, I got the wrong answer. Too high, apparently. How nice. How the heck do I find which data is screwing with my program? Good thing I thought of a test that helped me find my bug. It was kind of subtle because I didn't think of the nuance until I saw it in the test.

Tip: Just because the sum of all elements is zero, it doesn't mean all elements are zero.

When I realized what the problem was, it was a quick fix to the lambda expression. Part 1 solved.

Part 2 was ridiculously easy to solve, given the way I had set up the semantics of the program. Check this out:

I spent more time writing the tests for it, but not a whole lot more. Done in less than ten minutes.

Then the challenge was to find a way to use tail recursion. Took me longer than it should have but I eventually got that, too. Tail-call recursion isn't the most intuitive thing for me. Need more practice.

Overall, I learned quite a few things with the Day 9 problem. I doubt I can get caught up before Christmas Eve though. Lots of ground to make up. Anyway, it already snowed last night where I am, so I guess most of the people doing AoC got the big snow-making machine in the sky back up and running again.
 
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |