Advent of Code
Lite sent att tipsa om det här, men nån kanske vill binge-programmera eller bara ta de senaste (svåraste) problemen. Eller kanske de lättaste.
Ett problem (i två delar) varje dag från 1/12 till 25/12. Python lämpar sig bra att skriva i, tycker jag.
Det går nog bra i vilket språk som helst, jag körde några (fem) av problemen i c++. Tyvärr är jag sjuk så jag orkar inte fler men det är definitivt nyttiga övningar.
Jag har kört kalendern tidigare, men det var några år sedan. Problemen är jättebra som övningar på generella lösningsmönster och sådant man behöver kunna hantera oavsett vad man kodar.
Bara för att du påminde kodade jag igenom 1-4 igår i C#, men det fungerar ju med vad språk som helst man råkar ha i verktygslådan.
Advent of Code kan vara lärorikt och roligt, även om ämnet tangerar competitive.
Jag skulle rekommendera ett språk som har grundläggande strukturer och algoritmer tillgängliga, till exempel python eller c++.
De flesta problem går att bruteforcea inom rimlig tid, särskilt under de första två veckorna. Men man lär betydligt mer om man sätter sig in i det ämne problemkonstruktören försökt belysa, t.ex. dp eller topologisk sök eller vad det nu kan vara.
En bra kostnadsfri bok som jag själv lärt mig massor av praktiska saker av (framförallt med betoning på den tävlingsinriktade delen, om man vill hamna högt på highscorelistan i AoC) är Competitive Programmer's handbook.
Ett varningens ord dock; tänk på att det är enorm skillnad mellan att skriva en kodsnutt för att lösa ett begränsat problem en gång på så kort tid som möjligt och att skriva kod man ska återkomma till, underhålla eller som någon annan måste kunna sätta sig in i.
Många saker återkommer i deras problem, t.ex. att titta på grannar på en tvådimensionell spelplan, eller ännu mer specifikt att leta vägar i labyrinter. Men jag orkar aldrig skriva användbara funktioner jag kan återanvända.
Precis, att skriva återanvändbara rutiner i detta sammanhang känns som att man jobbar :)
Den enda del som jag gjorde återanvändbar i mina C++ console Q&D program var förmågan att byta mellan test koden de visade, och själva pussel texten man skulle lösa.