Mijn oplossing ook in C# is 24.1 KB (komt grotendeels doordat ik de input erin geplakt heb
) Met 95 regels is het wel vrij "verbose", maar ik denk wel simpel en duidelijk leesbaar.
Mijne was 588 bytes in Python volgens Github maar het kan natuurlijk nog veel kleiner.
Wel een goede casus om Python's for-else constructie te gebruiken.
Wel een goede casus om Python's for-else constructie te gebruiken.
[ Voor 17% gewijzigd door Soultaker op 16-12-2015 20:19 ]
Ik ben zojuist begonnen, super leuk om een beetje je vaardigheden te testen.
Mijn code is te vinden op Github: https://github.com/WebMakeEU/advent/
Wel vind ik het soms nog moeilijk om de opdrachten te vertalen naar Nederlands
Mijn code is te vinden op Github: https://github.com/WebMakeEU/advent/
Wel vind ik het soms nog moeilijk om de opdrachten te vertalen naar Nederlands
[ Voor 22% gewijzigd door henk1994 op 16-12-2015 21:09 ]
Ik heb deze kans maar even aangegrepen om eens te oefenen met Java 8 lambda expressies. Is voor heel veel problemen eigenlijk niet zo logisch als ik zou denken...
In ieder geval gingen de eerste 6 dagen best vlot: https://github.com/marcdejonge/adventofcode
Het feit dat die streams in Java 8 niet serieel zijn, brengt me toch vaak in lastige situaties. Zo is het bijvoorbeeld niet mogelijk 'foldr' achtige functie uit te voeren, omdat deze afhankelijk is van het in volgorde uitvoeren van de data.
Edit:
Wacht, er is wel een 'reduce' methode, waarmee ik wel ongeveer zoiets kan. Al is het nog steeds niet helemaal wat ik zoek...
In ieder geval gingen de eerste 6 dagen best vlot: https://github.com/marcdejonge/adventofcode
Het feit dat die streams in Java 8 niet serieel zijn, brengt me toch vaak in lastige situaties. Zo is het bijvoorbeeld niet mogelijk 'foldr' achtige functie uit te voeren, omdat deze afhankelijk is van het in volgorde uitvoeren van de data.
Edit:
Wacht, er is wel een 'reduce' methode, waarmee ik wel ongeveer zoiets kan. Al is het nog steeds niet helemaal wat ik zoek...
[ Voor 42% gewijzigd door Marcj op 16-12-2015 22:55 ]
Computer heeft het druk met berekenen van Day 10
(python)
T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.
Je kunt m'n oplossing in Java zien toch? Ik heb een andere aanpak dan jij. Het gaat me er om dat ik in beide sets eigenlijk dezelfde aanpak gebruik en dat dat in Scala minder code oplevert.Down schreef op woensdag 16 december 2015 @ 17:51:
Mijn oplossing in C# is 1,25KB. Ik gebruik veel anonymous types i.c.m lambda's, dat scheelt veel 'noise'. Ik weet weinig van Java, maar heeft Java dat niet?
https://niels.nu
Dag 17 was wel erg kort:
En deel twee is ook alleen maar een extra filter.
Haskell:
1
| main = interact $ show . length . filter ((150 ==) . sum) . subsequences . map read . lines |
En deel twee is ook alleen maar een extra filter.
Filter deze dan maar evenRaynman schreef op donderdag 17 december 2015 @ 11:27:
Dag 17 was wel erg kort:
Haskell:
1 main = interact $ show . length . filter ((150 ==) . sum) . subsequences . map read . lines
En deel twee is ook alleen maar een extra filter.
44, 23, 32, 18, 42, 29, 45, 5, 48, 31, 27, 14, 12, 26, 46, 14, 35, 18, 18, 46, 50, 37, 46, 25, 50, 25, 44, 22, 26, 6, 29, 43, 39, 37, 7, 31, 32, 35, 26, 1, 11, 10, 14, 43, 29, 20, 42, 4, 16, 35, 45, 33, 40, 47, 25, 26, 41, 16, 1, 8, 30, 48, 48, 17, 22, 3, 18, 2, 41, 14, 28, 35, 31, 6, 27, 1, 47, 43, 47, 49, 27, 5, 30, 26, 10, 20, 3, 43, 33, 35, 13, 1, 7, 10, 47, 16, 26, 22, 14, 31
Overigens heb ik de ballen verstand van Haskell, dus wellicht is het geen probleem
Hmm.. moet nog dag 15,16 en 17 inhalen.. eens kijken of dat gaat lukken vanavond....
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
perl obfuscating is nooit mijn sterkste vak geweestSoultaker schreef op woensdag 16 december 2015 @ 20:17:
Mijne was 588 bytes in Python volgens Github maar het kan natuurlijk nog veel kleiner.
Wel een goede casus om Python's for-else constructie te gebruiken.
[ Voor 3% gewijzigd door veldsla op 18-12-2015 08:58 . Reden: Waarom denk ik hier 's nachts aan? ]
Streams zijn toch altijd serieel? Ik weet er niet zo heel veel van, maar zijn ze niet alleen non-serieel als je bijv. een HashSet als source hebt or ParellelStream gebruikt? Lijkt me anders niet echt nuttig.Marcj schreef op woensdag 16 december 2015 @ 22:43:
Het feit dat die streams in Java 8 niet serieel zijn, brengt me toch vaak in lastige situaties. Zo is het bijvoorbeeld niet mogelijk 'foldr' achtige functie uit te voeren, omdat deze afhankelijk is van het in volgorde uitvoeren van de data.
Leuke opdrachtjes! Ben ook maar eens begonnen zojuist met mijn eerste 2:
Denk dat code 2 nog wel wat netter en korter kan, maar dit is ook al lekker kort en krachtig! $i = input
Nu op naar 3!
spoiler:
1
$a=array_values(array_diff(count_chars($i, 0), array(0)));
echo $a[0] - $a[1];
2
$a=explode(PHP_EOL, $i);
foreach($a as $key => $val)
{
$a2=explode('x', $val);
$a[$key] = (2*$a2[0]*$a2[1])+(2*$a2[1]*$a2[2])+(2*$a2[2]*$a2[0])+min(array(($a2[0]*$a2[1]), ($a2[1]*$a2[2]), ($a2[2]*$a2[0])));
}
echo array_sum($a);
$a=array_values(array_diff(count_chars($i, 0), array(0)));
echo $a[0] - $a[1];
2
$a=explode(PHP_EOL, $i);
foreach($a as $key => $val)
{
$a2=explode('x', $val);
$a[$key] = (2*$a2[0]*$a2[1])+(2*$a2[1]*$a2[2])+(2*$a2[2]*$a2[0])+min(array(($a2[0]*$a2[1]), ($a2[1]*$a2[2]), ($a2[2]*$a2[0])));
}
echo array_sum($a);
Denk dat code 2 nog wel wat netter en korter kan, maar dit is ook al lekker kort en krachtig! $i = input
Nu op naar 3!
Tja, met een kant-en-klare powerset wordt het wel heel triviaal.Raynman schreef op donderdag 17 december 2015 @ 11:27:
Dag 17 was wel erg kort:
Haskell:
1 main = interact $ show . length . filter ((150 ==) . sum) . subsequences . map read . lines
En deel twee is ook alleen maar een extra filter.
Ik ging in gedachten weer even terug naar 4 vwo en combinatoriek (7 ncr 3
code:
1
2
3
4
5
6
7
8
9
10
| var total = 0; var n = 20; for (int r = 1; r <= n; r++) { if (r == n) total += 1; else total += fact(n) / (fact(n - r) * fact(r)); } |
Mother north, how can they sleep while their beds are burning?
Ik weet niet wat je aan het berekenen bent, maar dat je de powerset noemt is wel weer correct. Het aantal subsets hierin is gewoon 2 tot de macht n. Elk element kan je namelijk wel of niet in een subset opnemen en dat voor n elementen. Je krijg dan 2 x 2 x ... x 2 = 2 ** n mogelijke subsets/combinaties. Tip: wil je 2 ** n berekenen, dan kan dat zo: 1 << n.
Ah, dat is wel handig ja. Ik had het zo in mijn hoofd: je kiest eerst 1 element uit 20, daarna 2 uit 20 etc. Daar de som van is dan het totaal aantal elementen.Daos schreef op vrijdag 18 december 2015 @ 15:09:
Ik weet niet wat je aan het berekenen bent, maar dat je de powerset noemt is wel weer correct. Het aantal subsets hierin is gewoon 2 tot de macht n. Elk element kan je namelijk wel of niet in een subset opnemen en dat voor n elementen. Je krijg dan 2 x 2 x ... x 2 = 2 ** n mogelijke subsets/combinaties. Tip: wil je 2 ** n berekenen, dan kan dat zo: 1 << n.
Mother north, how can they sleep while their beds are burning?
19B is wel een leuke puzzel. Voor wie er niet uit komt, is hier een nuttige hint:
Wat een beetje flauw is, is dat ik op Reddit zag dat een heleboel mensen greedy en/of brute-force oplossingen hadden geschreven, die op o.a. mijn testinvoer niet werken, maar blijkbaar op de hunne wel. Dat betekent dus dat een heleboel mensen het probleem hebben "opgelost" met puur geluk. Da's wel een beetje jammer.
Uiteindelijk is dit meer een puzzel dan een programmeerprobleem, want als je eenmaal doorhebt wat de bedoeling is, is de implementatie triviaal (waarschuwing, spoilers!):
spoiler:
Het algemene probleem is te moeilijk om op te lossen. Dat moet je dus ook niet proberen. In plaats daarvan moet je goed kijken naar de reductieregels in je invoerbestand: die zijn niet zomaar randomly generated, maar hebben een bepaalde structuur. Die kun je gebruiken om efficiënt te parsen.
Wat een beetje flauw is, is dat ik op Reddit zag dat een heleboel mensen greedy en/of brute-force oplossingen hadden geschreven, die op o.a. mijn testinvoer niet werken, maar blijkbaar op de hunne wel. Dat betekent dus dat een heleboel mensen het probleem hebben "opgelost" met puur geluk. Da's wel een beetje jammer.
Uiteindelijk is dit meer een puzzel dan een programmeerprobleem, want als je eenmaal doorhebt wat de bedoeling is, is de implementatie triviaal (waarschuwing, spoilers!):
spoiler:
import sys
for l in sys.stdin: pass
print sum(c.isupper() for c in l) - 2*l.count('Rn') - 2*l.count('Y') - 1
for l in sys.stdin: pass
print sum(c.isupper() for c in l) - 2*l.count('Rn') - 2*l.count('Y') - 1
Ik vond deel 2 wel erg lastig. Eerst steeds 'out of memory', daarna uur wachten zonder resultaat, stack overflows, etc. Uiteindelijk toch gelukt met een beetje mazzel:
spoiler:
parser gemaakt; in plaats van alle mogelijkheden afgaan pak ik ergens onderweg het maximum en dat werkt!
http://adventofcode.com/ is voor mij al een paar uur niet bereikbaar (ERR_CONNECTION_TIMED_OUT), terwijl het via een proxy wel bereikbaar is. Ook http://www.downforeveryon.../http://adventofcode.com/ zegt dat het up is.
Ben ik de enige met dit probleem? Heeft iemand suggesties?
edit: hier maak ik ook gebruik van ziggo
edit 2218: ook hier weer back up
Ben ik de enige met dit probleem? Heeft iemand suggesties?
edit: hier maak ik ook gebruik van ziggo
edit 2218: ook hier weer back up
[ Voor 11% gewijzigd door ikbenerniet op 19-12-2015 22:18 ]
Hier werkt 't prima. Misschien kun je een traceroute doen om te checken waar het mis gaat?
Het is nog best lastig om mijn 'foute' greedy oplossing te herschrijven. Ik denk dat ik het hierbij laat...
Hier zelfde probleem, heb Ziggo.ikbenerniet schreef op zaterdag 19 december 2015 @ 18:31:
http://adventofcode.com/ is voor mij al een paar uur niet bereikbaar (ERR_CONNECTION_TIMED_OUT), terwijl het via een proxy wel bereikbaar is. Ook http://www.downforeveryon.../http://adventofcode.com/ zegt dat het up is.
Ben ik de enige met dit probleem? Heeft iemand suggesties?
Traceroute loopt steeds op andere punten dood.
[ Voor 5% gewijzigd door rnark op 19-12-2015 19:15 ]
Mooi verhaal inderdaad van askalski op reddit. Mijn oplossing was ook niet lekker, maar gezien het niveau van de voorgaande dagen was ik niet voorbereid op kritisch naar de input kijken.
Site doet het hier prima op ziggo/oud upc.
Site doet het hier prima op ziggo/oud upc.
Hier werkt de site intussen ook weer, zojuist dag 8 afgerond.
Dat was van korte duur, wil antwoord dag 9 insturen, is site weer onbereikbaar.
Dat was van korte duur, wil antwoord dag 9 insturen, is site weer onbereikbaar.
[ Voor 40% gewijzigd door rnark op 19-12-2015 21:25 . Reden: Weer down... ]
Dat de sleutel tot de oplossing van 19B zat in
Hopelijk zitten er nog een aantal van dit soort puzzles in. De volgende keer dus wat scherper kijken naar de opdracht en de data.
spoiler:
had ik wel al vrij snel door, maar ik kon de vinger er telkens niet precies op leggen. Eerst dacht ik het molecuul slim op te breken hierop om daarmee verder te solven. Voorgaande puzzles waren immers ook met brute-force op te lossen. Na wat frustratie maar gaan meelezen op Reddit en daar kwam ik de uiteindelijke oplossing tegen. Toen viel het kwartje met het patroon dat ik eerder herkende de atomen Ar, Rn en Y
Hopelijk zitten er nog een aantal van dit soort puzzles in. De volgende keer dus wat scherper kijken naar de opdracht en de data.
Hier ook problemen met Ziggo idd. Via mobiel internet werkte t gewoon.
Helaas kom ik er toch niet uit. De voorbeelden werken, maar bij de echte input kom ik met een te laag antwoord
spoiler:
Ben nu bezig met dag 19. Had eerst een oplossing waar alle mogelijkheden werden berekend, maar ik zie nu pas (nadat mn pc flink vastloopt) dat t gaat om enkele mogelijkheden, niet alles gecombineerd 
Helaas kom ik er toch niet uit. De voorbeelden werken, maar bij de echte input kom ik met een te laag antwoord
[ Voor 19% gewijzigd door - peter - op 19-12-2015 23:28 ]
Vandaag was niet moeilijk maar wel eventjes spannend of het binnen redelijke tijd klaar zou zijn. Deel 1 duurde 15 seconden en deel 2 30.
edit: functie van deel 2 was ook te gebruiken voor deel 1; nu beiden 30 seconden maar wel kortere code
edit: functie van deel 2 was ook te gebruiken voor deel 1; nu beiden 30 seconden maar wel kortere code
[ Voor 27% gewijzigd door Daos op 20-12-2015 15:28 ]
Hier ook. (5s en 4s respectievelijk, maar ik gebruik Python, dus m'n oplossingen zijn altijd wat trager dan wat mogelijk is in C# of Rust).
pff. eindelijk ook 7 (src github) af. Eerst ging ik uit van een gesorteerde input als in het voorbeeld. Verschillende dingen geprobeerd, maar op de een of andere manier werd het steeds een onleesbare brij. Nog steeds wel vrees ik. Maar alles af, dus wachten op morgen!
Even de achterstand aan het inhalen, vandaag 15 opgelost. In eerste instantie niet recursief, ik wil het nog wel herschrijven. Recursief vind ik qua denkproces toch altijd een pak lastiger. Het was me al wel gelukt om de diepte van de recursie te beperken door deze mee te geven (dus selecteer max 4 items in de range 0..100). Alleen de beperking dat de som van de lijst 100 moet zijn krijg ik er niet zo snel in.
Binnenkort nog maar eens even goed naar kijken.
Binnenkort nog maar eens even goed naar kijken.
[ Voor 9% gewijzigd door Down op 20-12-2015 21:31 ]
Mother north, how can they sleep while their beds are burning?
Je kunt elke keer dat je recursie een niveau dieper gaat het meegegeven maximum verlagen met wat je al 'opgebruikt' hebt. Dus je start met 100. Je eerste niveau haalt er daar bijv 20 van af, dus je kan nog 80 meegeven als maximum aan de volgende recursie. Op het moment dat je op het diepste niveau zit geef je het meegegeven maximum terug. Zie mijn php versie van dag 15 voor een voorbeeld.Down schreef op zondag 20 december 2015 @ 21:18:
Even de achterstand aan het inhalen, vandaag 15 opgelost. In eerste instantie niet recursief, ik wil het nog wel herschrijven. Recursief vind ik qua denkproces toch altijd een pak lastiger. Het was me al wel gelukt om de diepte van de recursie te beperken door deze mee te geven (dus selecteer max 4 items in de range 0..100). Alleen de beperking dat de som van de lijst 100 moet zijn krijg ik er niet zo snel in.
Binnenkort nog maar eens even goed naar kijken.
Mijn oplossingen voor dag 20 zitten op resp +- 67 ms en +- 20 ms, er zit nogal wat variatie in de uitvoertijd. Ben wel benieuwd hoeveel hiervan door implementatie, en hoeveel hiervan door gebruikte taal komt.
A software developer is someone who looks both left and right when crossing a one-way street.
Zojuist dag 18 opgelost, nog 3 en ik ben bij 
Begin er steeds meer lol in te krijgen, erg leuk!
Begin er steeds meer lol in te krijgen, erg leuk!
[ Voor 36% gewijzigd door rnark op 21-12-2015 21:08 ]
Dag 21 is vrij eenvoudig. De inputverwerking kost nog bijna meer tijd dan het schrijven van een turn-based rpg algoritme. Na tig puzzles met combinatoriek heeft iedereen ondertussen wel al een permutatie- en combinatiefunctie liggen.
Ik heb helemaal geen turn-based algoritme gemaakt eigenlijkBee.nl schreef op maandag 21 december 2015 @ 21:47:
Dag 21 is vrij eenvoudig. De inputverwerking kost nog bijna meer tijd dan het schrijven van een turn-based rpg algoritme. Na tig puzzles met combinatoriek heeft iedereen ondertussen wel al een permutatie- en combinatiefunctie liggen.
Meer in de trand van if (my_hp div boss_dmg - my_armor > boss_hp div my_dmg - boss_armor).
[ Voor 10% gewijzigd door MerijnB op 21-12-2015 22:05 ]
A software developer is someone who looks both left and right when crossing a one-way street.
Ja het klonk veel meer dan het eigenlijk voorsteltMerijnB schreef op maandag 21 december 2015 @ 22:03:
[...]
Ik heb helemaal geen turn-based algoritme gemaakt eigenlijk
Meer in de trand van if (my_hp div boss_dmg - my_armor > boss_hp div my_dmg - boss_armor).
Deze ook even toegevoegd aan de TS, thanks!- peter - schreef op zondag 13 december 2015 @ 13:09:
Je kan nu ook private leaderbords aanmaken/joinen.
Weet niet echt of t veel toevoegd, maar heb er een aangemaakt voor tweakers:
code:
1 42329-ef862a1b
Neem je whisky mee, is het te weinig... *zucht*
O wat leuk!
Beetje jammer dat ik er op 22 december achter kom, maar ben gelijk begonnen.
voor de TS: https://github.com/tomkooij/AdventOfCode in Python!
Beetje jammer dat ik er op 22 december achter kom, maar ben gelijk begonnen.
voor de TS: https://github.com/tomkooij/AdventOfCode in Python!
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Dat wordt nog hard doorwerken als je voor kerstmis klaar wil zijn, vliegnerd. 
Het probleem van vandaag is wel leuk. Conceptueel niet heel moeilijk, maar je moet goed over je implementatie nadenken anders wordt 't een zooitje. Echt een programmeerprobleem.
Het probleem van vandaag is wel leuk. Conceptueel niet heel moeilijk, maar je moet goed over je implementatie nadenken anders wordt 't een zooitje. Echt een programmeerprobleem.
De kans is aanwezig dat de opgaven na kerst ook nog aanwezig zijn;
https://www.reddit.com/r/..._challenges_be_available/
Ik heb nog geen tijd gemaakt om er aan te beginnen. Helaas kun je op WindowsRT geen C# compileren, anders was ik al wel begonnen tussendoor.
https://www.reddit.com/r/..._challenges_be_available/
Ik heb nog geen tijd gemaakt om er aan te beginnen. Helaas kun je op WindowsRT geen C# compileren, anders was ik al wel begonnen tussendoor.
🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)
Net dag 6 afgemaakt, dus het schiet op ;-)
Dag 4 en 6 echt (te) makkelijk. Dag 5 was leuk! Ik ga eens rondneuzen welke slimme algoritmen men daar gebruikt.
Dag 4 en 6 echt (te) makkelijk. Dag 5 was leuk! Ik ga eens rondneuzen welke slimme algoritmen men daar gebruikt.
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Vandaag veel tijd kwijt geraakt aan bug zoeken (m'n code vond geen oplossing), alle voorbeelden nagespeeld, alles klopte.
Bleek dat ik over deze regel heen had gelezen: ' However, effects can be started on the same turn they end.'
Dit kwam niet uit het testen met de voorbeelden naar buiten.
Nu dan toch gelukt
Deel een van vandaag trouwens langste uitvoertijd tot nu toe, een krappe 5 secondes.
Bleek dat ik over deze regel heen had gelezen: ' However, effects can be started on the same turn they end.'

Dit kwam niet uit het testen met de voorbeelden naar buiten.
Nu dan toch gelukt
Deel een van vandaag trouwens langste uitvoertijd tot nu toe, een krappe 5 secondes.
[ Voor 11% gewijzigd door MerijnB op 22-12-2015 18:14 ]
A software developer is someone who looks both left and right when crossing a one-way street.
Paar weken geleden kwam ik bij toeval op dit onderdeel over AoC. Met goede moed begonnen met lezen van de opdrachten maar ik kwam er achter dat mijn programmeerkunsten echt heul beginnersniveau is (ben ook nog bezig met C# Fundamentals for Absolute Beginners op MVA).
De eerste 2 dagen heb ik nog kunnen oplossen m.b.v. Excel :-) Dag 3 lukt helaas niet meer via Excel.
Ik heb grootste respect voor al de deelnemers die het zover schoppen middels programmeren. Probeer van alles te leren door jullie C#-code te bekijken, maar zie soms zaken staan waarbij ik echt achter mijn oren moet krabben maar uiteindelijk (met wat zoekwerk) zie ik wat jullie doen.
Dus bij deze wil ik jullie bedanken voor de (in)directe hulp die ik krijg bij het leren van C#. Hopelijk lukt het mij volgend jaar wel om alles programmerend op te lossen.
De eerste 2 dagen heb ik nog kunnen oplossen m.b.v. Excel :-) Dag 3 lukt helaas niet meer via Excel.
Ik heb grootste respect voor al de deelnemers die het zover schoppen middels programmeren. Probeer van alles te leren door jullie C#-code te bekijken, maar zie soms zaken staan waarbij ik echt achter mijn oren moet krabben maar uiteindelijk (met wat zoekwerk) zie ik wat jullie doen.
Dus bij deze wil ik jullie bedanken voor de (in)directe hulp die ik krijg bij het leren van C#. Hopelijk lukt het mij volgend jaar wel om alles programmerend op te lossen.
Mijn (Java) code staat hier: https://github.com/arjanverstoep/adventofcode2015. Ik ben gisteren begonnen, en heb vandaag met enige moeite onderdeel 8,9 en 11 opgelost. Maar man, als ik daarna eventjes kijk bij deze gast https://github.com/rejment/aoc2015/tree/master/src, dan ga ik me in een ver hoekje zitten schamen...
[ Voor 1% gewijzigd door Varienaja op 23-12-2015 00:04 . Reden: Nu ook opgave 11 gedaan ]
Siditamentis astuentis pactum.
Ik heb nu tot en met dag 17 gedaan, maar de klad begint er wel een beetje in te komen (tijd + motivatie). Hoop dat ik de kerstboom toch compleet heb straks.
Mother north, how can they sleep while their beds are burning?
Ik vind dat je je sowieso moet schamen omdat je alle oplossingen in één bestand geplempt hebt.Varienaja schreef op dinsdag 22 december 2015 @ 23:25:
Mijn (Java) code staat hier: https://github.com/arjanverstoep/adventofcode2015. Ik ben gisteren begonnen, en heb vandaag met enige moeite onderdeel 8,9 en 11 opgelost. Maar man, als ik daarna eventjes kijk bij deze gast https://github.com/rejment/aoc2015/tree/master/src, dan ga ik me in een ver hoekje zitten schamen...
Als ik zie hoe de andere Python mensen de verschillende dingen hebben opgelost (vooral qua input van de data) dan schaam ik me eigenlijk best wel dat ik het zo lelijk heb gedaan. Maar hey, Python is alweer ~2 jaar geleden
Anyway, mocht iemand nog een alternatieve manier willen zien om het in Python op te lossen: https://github.com/xudonax/AdventOfCode 
Ik ben meer een fan van de handige functionele "trucjes" dan object oriented programmeren om eerlijk te zijn. Misschien dat ik het nog wel dunnetjes over doe in F# of zo in de loop van de kerstvakantie.
Ik ben meer een fan van de handige functionele "trucjes" dan object oriented programmeren om eerlijk te zijn. Misschien dat ik het nog wel dunnetjes over doe in F# of zo in de loop van de kerstvakantie.
Ik vind het leuk om bij andere Python oplossingen te kijken, hoe het allemaal veel makkelijker (beter, maar vooral leesbaarder) kan. Vooral van het beter leesbare code schrijven leer ik.Xudonax schreef op woensdag 23 december 2015 @ 01:30:
Als ik zie hoe de andere Python mensen de verschillende dingen hebben opgelost (vooral qua input van de data) dan schaam ik me eigenlijk best wel dat ik het zo lelijk heb gedaan.
Maar het is vooral leuk!
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Zo...ik denk dat 23 (Rust) ook wel korter kan
maar ik heb dan ook nog nooit eerder een computer gemaakt, dus ik ben lekker uit de bocht gevlogen!
spoiler:
Wel flauw die jio instructie. Heeft me wel wat tijd gekost
Ik had het opgelost door elke instructie naar een functie te herschrijven. Dan hoef je in je uitvoeringslus alleen nog maar functies aan te roepen: 23.py. Dat had in Rust ook gekund, denk ik!
Je krijgt dan een soort threaded code interpreter (leuke programmeertechniek uit de oude doos).
Je krijgt dan een soort threaded code interpreter (leuke programmeertechniek uit de oude doos).
Dat lijkt me ook wel. Heb ook nog even getwijfeld of ik de offset naar de volgende instructie als bijproduct van elke instructie terug zou geven. Dat zou dan het resultaat van de match in de program loop zijn. Vond dit toen ik het schreef iets leesbaarder. Is het misschien niet
Ik heb vrijwel alles in 1 big ass recursieve functie gestopt. Vannacht laten draaien en het was vanmorgen op 5%. Vanmorgen even snel wat pruning toegevoegd en ik zit nu onder de secondeSoultaker schreef op dinsdag 22 december 2015 @ 12:55:
Het probleem van vandaag is wel leuk. Conceptueel niet heel moeilijk, maar je moet goed over je implementatie nadenken anders wordt 't een zooitje. Echt een programmeerprobleem.

Zojuist 23 opgelost. Wel onderhoudend, maar qua idee vond ik 7 leuker.
Mother north, how can they sleep while their beds are burning?
Ik vind dit juist wel leuke cases of het af en toe iets anders te doen (t.o.v. de werkvloerDaos schreef op woensdag 23 december 2015 @ 17:14:
Ik moest ook aan 7 denken. Mijn oplossingen van 7 en 23 lijken veel op elkaar: ik heb beiden netjes object-georiënteerd gemaakt. 23 vond ik wel een stuk makkelijker en ook mijn code is ietsjes korter.
Mother north, how can they sleep while their beds are burning?
Vandaag was part 1 wel aardig. Voor part 2 heb ik langer over het lezen gedaan dan over het oplossen ervan. Het is niet mijn netste code geworden, maar wel makkelijk om te bedenken. De opdracht van gisteren was erg leuk. Daar moest ik wel even nadenken hoe ik mijn recursieve functie zo kon laten lopen dat ik geen miljarden mogelijkheden hoefde te proberen.
Jammer dat ik het zo laat heb ontdekt. Ik heb de eerste zes dagen zojuist opgelost. Aangezien ik onlangs ben begonnen met scripten in R vond ik dat wel een mooie taal om mee te stoeien. De code verdient niet echt de schoonheidsprijs, maar goed.
Ik ben dan wel benieuwd naar de opzet van je codeKlaasvaak schreef op woensdag 23 december 2015 @ 22:53:
Vandaag was part 1 wel aardig. Voor part 2 heb ik langer over het lezen gedaan dan over het oplossen ervan. Het is niet mijn netste code geworden, maar wel makkelijk om te bedenken. De opdracht van gisteren was erg leuk. Daar moest ik wel even nadenken hoe ik mijn recursieve functie zo kon laten lopen dat ik geen miljarden mogelijkheden hoefde te proberen.
Ik heb een beetje een bluftaktiek gehanteerd bij deze, maar bij mij was van deel 1 naar deel 2 het aanpassen van 1 variabele (waarmee de uitvoertijd tig keer sneller is geworden overigens).
A software developer is someone who looks both left and right when crossing a one-way street.
Alle dagen staan op https://github.com/Perkine/Advent-of-Code. Bij dag 23 was part 2 niet meer dan 1 variabele aanpassen. Bij dag 22 was voor part 2 ook niet veel extra nodig. Voor part 1 had ik hem eerst aangezet zonder regel 61 t/m 63, maar ik had al gauw door dat het zo erg lang ging duren.
Met de puzzel van vandaag wil het overigens niet erg vlotten. Ik had een reeks combinaties met zo min mogelijk paketten in het voetencompartiment, maar daar bij geen enkele combinatie kan ik de overige pakketten zo verdelen dat er overal hetzelfde gewicht zit.Vervolgens proberen met wat meer pakketten bij de voeten, maar mijn code draait zo traag dat ik het antwoord waarschijnelijk niet voor kerst volgend jaar heb.
Edit: Nog is zitten denken. Het kan niet kloppen dat ik geen verdeling krijg, dus er moet ergens iets fout gaan in mijn code...
Nog een edit: Na even afstand te hebben genomen ging het lichtje branden. Vervolgens eerst enkele minuten
gedaan . Daarna mijn code aangepast, en deze dag ook opgelost.
Met de puzzel van vandaag wil het overigens niet erg vlotten. Ik had een reeks combinaties met zo min mogelijk paketten in het voetencompartiment, maar daar bij geen enkele combinatie kan ik de overige pakketten zo verdelen dat er overal hetzelfde gewicht zit.Vervolgens proberen met wat meer pakketten bij de voeten, maar mijn code draait zo traag dat ik het antwoord waarschijnelijk niet voor kerst volgend jaar heb.
Edit: Nog is zitten denken. Het kan niet kloppen dat ik geen verdeling krijg, dus er moet ergens iets fout gaan in mijn code...
Nog een edit: Na even afstand te hebben genomen ging het lichtje branden. Vervolgens eerst enkele minuten

[ Voor 17% gewijzigd door Klaasvaak op 24-12-2015 12:31 ]
al heb die van vandaag opgelost, met 2min calculattie, ben nog wel aan nadenken of niet iets sneller kan
Please nerf Rock, Paper is fine. Sincerely yours, Scissor.
GW2:Teunis.6427
Part1 en Part2 vandaag doen er in totaal 37 seconden over. Zou nog sneller kunnen als multithreaded.
Wel veel te lang mee bezig geweest.
Ik heb nu al 3x keer een loop gebruikt die door alle bitjes loopt van int 0 => int.max.
Wel veel te lang mee bezig geweest.
Ik heb nu al 3x keer een loop gebruikt die door alle bitjes loopt van int 0 => int.max.
[ Voor 40% gewijzigd door DRaakje op 24-12-2015 14:24 ]
Ik had vandaag het antwoord al voordat ik klaar was (maar heb hem wel netjes afgemaakt).
Nette oplossing doet er 20 seconden over. Minder nette minder dan 1.
spoiler:
Ik pak de kleinste groepen die 1/3 van de lengte maken; check of de rest onder 2 gelijke groepen te verdelen is, is blijkbaar niet nodig.
Nette oplossing doet er 20 seconden over. Minder nette minder dan 1.
Ik ben pas een paar dagen bezig en in de inhaalslag nu bij dag14. Met de kerst weinig tot geen tijd, dus hopelijk blijft de site (zoals aangekondigd) nog even open.
Ondertussen heb ik gisteren (dag 23) wel direct gemaakt, want dan kan ik tenminste hier en op reddit meelezen, zonder te veel gespoiled te worden. Gisteren was een eitje, makkelijker dan het soortgelijke probleem van dag 7. Maar wel leuk om te doen. Het probleem vandaag (dag 24) wil niet helemaal lukken, daarom maar even dag14 gedaan.
Voor na de kerst ligt er dus dag 15 t/m 22 en dag 24 op mij te wachten. Daar zitten zo op het eerste gezicht wel een paar lastige tussen.
Ben stiekem wel erg benieuwd naar "de grand finale" morgen.
Ondertussen heb ik gisteren (dag 23) wel direct gemaakt, want dan kan ik tenminste hier en op reddit meelezen, zonder te veel gespoiled te worden. Gisteren was een eitje, makkelijker dan het soortgelijke probleem van dag 7. Maar wel leuk om te doen. Het probleem vandaag (dag 24) wil niet helemaal lukken, daarom maar even dag14 gedaan.
Voor na de kerst ligt er dus dag 15 t/m 22 en dag 24 op mij te wachten. Daar zitten zo op het eerste gezicht wel een paar lastige tussen.
Ben stiekem wel erg benieuwd naar "de grand finale" morgen.
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Poeh, die recursieve functies zijn niet helemaal mijn ding
. Maar het is weer gelukt . Deel 1 lukte met een nogal brute aanpak, voor deel 2 maar overnieuw begonnen. Totale runtijd voor deel een en twee samen 0.4 sec.
Morgen ga ik hier vast niet zoveel tijd voor hebben.
Morgen ga ik hier vast niet zoveel tijd voor hebben.
Recursieve functies vallen wel mee als je het eenmaal doorhebt:
- je hebt een base case die meestal vrij simpel is
- dan het recursieve deel: ga er vanuit dat je al een perfect werkende functie hebt en gebruik die om een iets kleiner probleem op te lossen; vervolgens verwerk je het resultaat daarvan tot het eindresultaat van je functie
Schoolvoorbeeld is wel deze:
- je hebt een base case die meestal vrij simpel is
- dan het recursieve deel: ga er vanuit dat je al een perfect werkende functie hebt en gebruik die om een iets kleiner probleem op te lossen; vervolgens verwerk je het resultaat daarvan tot het eindresultaat van je functie
Schoolvoorbeeld is wel deze:
Python:
1
2
3
4
5
| def factorial(n): if n == 1: return 1 else: return n * factorial(n-1) |
Dag 24 bleek uiteindelijk toch veel makkelijker dan gedacht. D.w.z. een halve oplossing werkt ook... day24.py
Dag 25 is voor na de kerstdagen!
spoiler:
Het zoeken naar de kleinste bin die aan de voorwaarde "sum(weights)/aantal_bins" voldoet blijkt voldoende voor part A en B.
Dag 25 is voor na de kerstdagen!
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Ik liep de laatste dagen nog wat puzzles achter, maar vandaag alles ingehaald tot en met dag 25
Dag 22 kostte nog redelijk wat tijd om alle condities er correct in te verwerken. Volgens mij is dat een van de opdrachten met de meeste code. Uiteindelijk opgelost door random spells aan te roepen en te stoppen wanneer het minimum niet meer verandert na X iteraties. Levert 9/10 keer het juiste antwoord op.
Dag 25 is eigenlijk een simpele rekensom:

Dag 22 kostte nog redelijk wat tijd om alle condities er correct in te verwerken. Volgens mij is dat een van de opdrachten met de meeste code. Uiteindelijk opgelost door random spells aan te roepen en te stoppen wanneer het minimum niet meer verandert na X iteraties. Levert 9/10 keer het juiste antwoord op.
Dag 25 is eigenlijk een simpele rekensom:
spoiler:
De x * 252533 % 33554393 net zo vaak uitvoeren als som(0, 1, 2, .., kolom + rij - 2) + kolom - 1, waarbij kolom en rij zijn gegeven in de input.
Ik heb nu dag 25 in 32 iteraties (omdat een integer 32 bits heeft) 
edit:gatver, iemand op reddit heb hetzelfde gedaan

edit:gatver, iemand op reddit heb hetzelfde gedaan
[ Voor 13% gewijzigd door Daos op 25-12-2015 22:24 ]
Vandaag eens mee begonnen
Erg leuke puzzels
Erg leuke puzzels
Not just an innocent bystander
Een beetje laat om te beginnen, maar dat maakt de puzzels er niet minder leuk door. Heb zonet dag 1 voltooid, en ga nu starten met de overige puzzels.
Nu bijna alle puzzels opgelost na een late start (alleen dag 21 en 22 nog, ik heb 23 t/m 25 live meegedaan en was ondertussen aan het inhalen).
19B blijkt mijn Waterloo. Het lukte mij niet een werkende substitutie te vinden en als je dan eenmaal op reddit de clou leest, tja... Jammer dat ik daar zelf niet opkwam. Wel een leuke puzzel.
19B blijkt mijn Waterloo. Het lukte mij niet een werkende substitutie te vinden en als je dan eenmaal op reddit de clou leest, tja... Jammer dat ik daar zelf niet opkwam. Wel een leuke puzzel.
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Joehoe, eindelijk klaar! Dag 25 was eigenlijk wel een van de makkelijksten.
Ik vond t erg leuk, volgend jaar hopelijk weer!
Ik vond t erg leuk, volgend jaar hopelijk weer!
Bumpje. Wie dit leuk vond, moet zeker meedoen met de Facebook Hacker Cup komende zaterdag.
Heb de eerste puzzle er al op zitten
Blijft erg leuk om ff in de pauze te doen. Vorig jaar was ik te laat begonnen maar nu probeer ik toch wel bij te blijven
Ook weer begonnen, eerste puzzel was goed te doen
Eens kijken of ik dit jaar wel alle puzzels kan afmaken.
Cool ook om op reddit de visualisaties te zien, daar had ik geen zin in
Cool ook om op reddit de visualisaties te zien, daar had ik geen zin in
Idem.GrooV schreef op donderdag 1 december 2016 @ 14:54:
Heb de eerste puzzle er al op zittenBlijft erg leuk om ff in de pauze te doen. Vorig jaar was ik te laat begonnen maar nu probeer ik toch wel bij te blijven
Die van vandaag was overigens vrij eenvoudig, al had ik het tweede deel helemaal verkeerd geïnterpreteerd.
spoiler:
Ik dacht dat je de afstand tot het eerste punt waar je al stopte moest geven, niet het eerste punt waar je al passeerde. Aan de reacties op Reddit te zien ben ik ook lang niet de enige 
EDIT:
Even spoiler-tags toegevoegd
[ Voor 10% gewijzigd door Bv202 op 01-12-2016 15:28 ]
Spoiler alertBv202 schreef op donderdag 1 december 2016 @ 15:25:
[...]
Idem.
Die van vandaag was overigens vrij eenvoudig, al had ik het tweede deel helemaal verkeerd geïnterpreteerd.spoiler:Ik dacht dat je de afstand tot het eerste punt waar je al stopte moest geven, niet het eerste punt waar je al passeerde. Aan de reacties op Reddit te zien ben ik ook lang niet de enige
Ik had het ook verkeerd gelezen, maar heb wel als eerste de test uit het voorbeeld geschreven. En die faalde. Altijd handig, testjes
Ook ik ben weer bezig. Vorig jaar heb ik nog steeds niet helemaal afgemaakt wegens tijdgebrek, eens zien of dit jaar beter wil. Dit jaar gebruik ik Kotlin om de puzzels op te lossen, best een leuke taal.
De eerste puzzels waren een eitje, al viel ik ook in de eerder genoemde valkuil (lezen blijft lastig
)
GitHub repo: link.
De eerste puzzels waren een eitje, al viel ik ook in de eerder genoemde valkuil (lezen blijft lastig

GitHub repo: link.
Ik die ook weer mee, net als vorig jaar in javascript. De eerste puzzels waren inderdaad niet erg ingewikkeld. Gelukkig had ik vorig jaar al geleerd good te lezen. Ik was wel even de weg kwijt doordat ik een globale var location = [0, 0]; had gedeclareerd, dus window.location = [0, 0]; toen stond ik wel even te kijken waarom de browser mijn pagina niet kon vinden.
[url src="https://github.com/Perkine/Advent-of-Code-16"]Github[/url]
[url src="https://github.com/Perkine/Advent-of-Code-16"]Github[/url]
JAA!!! Leuk. Dank voor de tip @veldsla, want ik had mij nog niet gerealiseerd dat er weer in nieuwe editie gestart was.
Maken we weer een Tweakers leaderboard?
Maken we weer een Tweakers leaderboard?
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Het leaderboard van vorig jaar werkt ook nog!vliegnerd schreef op donderdag 1 december 2016 @ 19:36:
Maken we weer een Tweakers leaderboard?
Ook gestart, we zien wel hoe lang we het vol houden 
Ik push mijn oplossingen naar mijn git repo:
http://stash.rotate-it.be...OC/repos/kris/browse/day1
Ik push mijn oplossingen naar mijn git repo:
http://stash.rotate-it.be...OC/repos/kris/browse/day1
If it ain't broken it doesn't have enough features
Ben dabei!
Niet een moeilijke opgave, wel wat meer typwerk
Repo ( C#) : https://github.com/fluttert/AdventOfCode
Niet een moeilijke opgave, wel wat meer typwerk
Repo ( C#) : https://github.com/fluttert/AdventOfCode
Not just an innocent bystander
Mmm, zal morgen C# opstarten, maar de eerste 2 in minder dan 5 min tezamen in excel gedaan.
De tweede was veel eenvoudiger dan die van gisteren
Ik gebruik weer mijn github repo: https://github.com/tomkooij/AdventOfCode (python).
Dag 2 lijkt erg op dag 1 en mijn oplossingen lijken dus ook op elkaar...
Dag 2 lijkt erg op dag 1 en mijn oplossingen lijken dus ook op elkaar...
4,8kW ZO-NW PVOutput 8x300Wp ZO 12 graden. 8x300Wp NW 12 graden.
Weet (of ziet) iemand of die private leaderboards ook meetellen wie het eerste was (+ cumulatief over alle dagen)?
edit: zo te zien wel over de laatste dag, maar niet over alle dagen zoals de global leaderboard; helaas
edit: zo te zien wel over de laatste dag, maar niet over alle dagen zoals de global leaderboard; helaas
[ Voor 31% gewijzigd door Radiant op 02-12-2016 09:52 ]
Goh ja, "eerst" is natuurlijk niet hetzelfde als "snelst". De nieuwe puzzels komen om 6u 's morgens online, daar ga ik niet extra vroeg voor opstaanRadiant schreef op vrijdag 2 december 2016 @ 09:50:
Weet (of ziet) iemand of die private leaderboards ook meetellen wie het eerste was (+ cumulatief over alle dagen)?
edit: zo te zien wel over de laatste dag, maar niet over alle dagen zoals de global leaderboard; helaas
Same here!Bee.nl schreef op vrijdag 2 december 2016 @ 13:22:
Leuk dat er dit jaar weer een editie is. Ik ben weer van de partij
github (php)

https://github.com/patrickTingen/adventOfCode_2016 (Progress 4GL)
... en gaat over tot de orde van de dag
pfff... meteen de limieten van C# Console application geraakt. Ik dacht maak makkelijk een console app waarin ik dan makkelijk de sequence van codes kan inplakken om zo te testen. Blijkt de Console.Readline niet zoveel tekens te kunnen inlezen in 1 keer.
Resultaat: kleine tests gingen goed, complete sequence van de opdracht ging fout en kreeg dus fout op mijn antwoord van de website
Resultaat: kleine tests gingen goed, complete sequence van de opdracht ging fout en kreeg dus fout op mijn antwoord van de website


[ Voor 21% gewijzigd door Sircuri op 02-12-2016 15:43 ]
Signature van nature
Nee uiteraard niet. Maar als je daar totaal niet mee bezig aan het houden bent (files lezen), dan is dit ineens een hele rare fout waar je tegenaan loopt.HMS schreef op vrijdag 2 december 2016 @ 15:44:
Zo veel moeilijker is het niet omC#:te gebruiken toch?
1 File.ReadAllLines()
Signature van nature
Is t niet praktischer om een aparte Advent of Code 2016 thread aan te maken? Dan is de startpost ook weer relevant, en kunnen de repo's van dit jaar daar ook in.
Niets, blijkbaar 
Ik heb een nieuw topic aangemaakt voor 2016:
Advent of Code 2016
Ik heb een nieuw topic aangemaakt voor 2016:
Advent of Code 2016
[ Voor 35% gewijzigd door - peter - op 02-12-2016 22:18 ]
Let op:
Leaderboard
Leaderboard