Advent of Code 2023 Vorige deel Overzicht Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 2 ... 11 Laatste
Acties:

Acties:
  • +1 Henk 'm!

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Soultaker schreef op vrijdag 1 december 2023 @ 17:22:
[...]

spoiler:
Recursie-met-caching is niet de enige mogelijkheid. Je kunt het ook bottom-up berekenen, zo bijvoorbeeld.

De logica is dat je eerst de resultaten voor elk cadeautje afzonderlijk berekent (die gelijk is aan de waarde zelf), dan voor elke twee cadeautjes samen (waarbij je ofwel het ene, ofwel het andere cadeautje overlaat), dan voor elke drie cadeautjes samen, etc. todat je uiteindelijke 1 waarde voor alle cadeaus overhoudt.
Petje af voor die oplossing _/-\o_ Dat is meer waar ik op uit had willen komen, maar dan had het nog veel meer tijd gekost ben ik bang 8)7

Tja


Acties:
  • 0 Henk 'm!

  • YoToP
  • Registratie: Juli 2011
  • Laatst online: 25-07 16:56
Het kan aan mij liggen , maar ben 14 minuten bezig geweest met
spoiler:
uitvogelen dat "fewest number of cubes of each color" eigenlijk betekent dat je de max moet gaan bijhouden...

Ik was naar het example aan het kijken heb 10 minuten niet gecode, stomweg omdat ik het niet snapte. Toen toch maar een kleiner dan versie gemaakt om de fewest amount of cubes te vinden.

Uiteindelijk zag ik in het example dat alleen de grootste waardes gekozen werden. < vervangen door > en klaar.. 8)7


Goedemorgen

Me think, why waste time say lot word, when few word do trick.


Acties:
  • +1 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

@YoToP Je bent niet de enige hoor, ik kwam er echter wel na een paar minuten al achter.

spoiler:
Min() is niet Max() :X

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10-09 18:35

TrailBlazer

Karnemelk FTW

@MatHack @YoToP
Hier ook dezelfde fout.

spoiler:
Had al wel aan zien komen dat je voor task2 alle values van een game nodig zou hebben dus blij dat ik dat al voor deel 1 had geimplementeerd.

Acties:
  • 0 Henk 'm!

  • vDorst
  • Registratie: November 2006
  • Niet online
Ging best vlot deze dag.
Ik word al beter met de Rust iterators.

Het parsen van de data is nog wat klunzig.
Ik snap het idee achter de nom crate wel maar het blijft toch moeilijk om zelf de juiste functie te combineren.

[ Voor 54% gewijzigd door vDorst op 02-12-2023 09:08 ]


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
Ja deze was vrij eenvoudig. Deel twee was ook echt 10 seconden werk.
Simpel modelletje gemaakt en vervolgens een kwestie van wat map / filter / sum over het lijstje.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 11-09 20:41

DataGhost

iPL dev

Mugwump schreef op zaterdag 2 december 2023 @ 09:34:
Ja deze was vrij eenvoudig. Deel twee was ook echt 10 seconden werk.
Simpel modelletje gemaakt en vervolgens een kwestie van wat map / filter / sum over het lijstje.
Ik heb dit jaar geen zin in / tijd voor het maken van andere en grotere inputs, maar probeer je eens voor te stellen dat er veel meer kleuren mogelijk waren, zou je dan eenzelfde stijl oplossing gebruiken? :)

Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 07:27
appeltje eitje.
https://github.com/wimpel...e2023/blob/main/r/day02.R

waar deel 2 gisteren veruit het meeste werk was, was dat nu zo gepiept..

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Gisteren nog een snelle lelijke implementatie voor dag 1 gemaakt. https://github.com/rverst.../blob/main/Y2023/Day01.cs

Vanochtend om 4:30 was de volgende nog niet beschikbaar helaas :'(

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
DataGhost schreef op zaterdag 2 december 2023 @ 09:48:
[...]

Ik heb dit jaar geen zin in / tijd voor het maken van andere en grotere inputs, maar probeer je eens voor te stellen dat er veel meer kleuren mogelijk waren, zou je dan eenzelfde stijl oplossing gebruiken? :)
Nee, maar premature optimization enzo. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 11-09 20:41

DataGhost

iPL dev

Woy schreef op zaterdag 2 december 2023 @ 10:18:
Gisteren nog een snelle lelijke implementatie voor dag 1 gemaakt. https://github.com/rverst.../blob/main/Y2023/Day01.cs

Vanochtend om 4:30 was de volgende nog niet beschikbaar helaas :'(
Waar heb je die dict values voor gemaakt dan? 8)7

Acties:
  • 0 Henk 'm!

  • Litpho
  • Registratie: Juni 2003
  • Laatst online: 22-08 10:47
Deel 2 was inderdaad een stuk makkelijker als je de max van elke kleur per game toch al berekende.

Na dag 1 hier weer gebruik kunnen maken van de oude trouwe nom om te parsen en als je daar eenmaal in thuis bent levert het heel leesbare code op (wat voor de AoC ongetwijfeld overengineered is).

https://github.com/litpho...lob/main/day2/src/main.rs

Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

Dag 2 in Java

Ik heb voor de gein alles naar Streams gerefactored om te kijken of het dan op de slanke Python oplossingen gaat lijken. Maar volgens mij blijft er van de leesbaarheid niet veel over. >:)

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • ProAce
  • Registratie: Januari 2014
  • Laatst online: 09:30
Ook maar weer eens een poging wagen. Dit jaar ook eens tijd genomen om wat structuur aan te brengen en wat tooling er bij te maken: https://github.com/ysmilda/Advent-of-code

Voor dag 2 nog niet echt tevreden over de manier van input parsing, dat moet handiger kunnen.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Vandaag was meer een dag 1 opgave :P

Recht toe recht aan, string splitting ftw: https://github.com/CodeEn...23/blob/main/days/Day2.go
spoiler:
Kleine shortcut genomen want game ID is regelnummer.

[ Voor 20% gewijzigd door Creepy op 02-12-2023 11:11 ]

"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


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11-09 13:18

Dido

heforshe

Woy schreef op zaterdag 2 december 2023 @ 10:18:
Vanochtend om 4:30 was de volgende nog niet beschikbaar helaas :'(
Nope, die komen om 6 uur ' ochtends onze tijd :P

Wekker de komende weken dus om 5:40 :|

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
DataGhost schreef op zaterdag 2 december 2023 @ 10:22:
[...]

Waar heb je die dict values voor gemaakt dan? 8)7
Die wilde ik eerst gebruiken, maar toen heb ik het toch wat anders gedaan. Maar geen zin om dingen op te ruimen ;)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Dido schreef op zaterdag 2 december 2023 @ 11:09:
[...]

Nope, die komen om 6 uur ' ochtends onze tijd :P

Wekker de komende weken dus om 5:40 :|
Dat weet ik, maar onze wekker gaat nogal random op het moment :P

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11-09 13:18

Dido

heforshe

Woy schreef op zaterdag 2 december 2023 @ 11:19:
Dat weet ik, maar onze wekker gaat nogal random op het moment :P
Wij hebben er eentje op 4 pootjes, die wil ik om 6 uur niet wakker maken, dus ik zit 's ochtends zonder koffie te coden :'(

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Weer een pak string-manipulatie. Leuk om beetje met iterators te spelen in Kotlin. Kan vast nog wel mooier maar het werkt.

Dag 2:
https://gist.github.com/E...997d2040d42e154bb1a3569d3

Tja


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 09:35

MueR

Admin Tweakers Discord

is niet lief

Dag 2 ook weer klaar

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • veldsla
  • Registratie: April 2000
  • Laatst online: 10-09 16:26
vDorst schreef op zaterdag 2 december 2023 @ 09:03:
Ging best vlot deze dag.
Ik word al beter met de Rust iterators.

Het parsen van de data is nog wat klunzig.
Ik snap het idee achter de nom crate wel maar het blijft toch moeilijk om zelf de juiste functie te combineren.
Toch is AoC een leuke oefening voor de Nom skills. Ik heb 2020 met nom gedaan (vervolgens 2 jaar niet meegedaan). Toch wat roestig (:+) geworden, dus dit jaar maar weer Nom (en dus Rust) gebruiken.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11-09 19:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Pfff, nom, ik heb mijn eigen lightweight ascii parser maar even ingetypt. 't Mooie van AoC is dat je nooit hoeft te checken of de input wel aan het juiste formaat voldoet :Y)

Day 2

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
Day 2 finished as well... Ik vond gisteren lastiger moet ik eerlijk zeggen...

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 11-09 20:41

DataGhost

iPL dev

Woy schreef op zaterdag 2 december 2023 @ 11:18:
[...]

Die wilde ik eerst gebruiken, maar toen heb ik het toch wat anders gedaan. Maar geen zin om dingen op te ruimen ;)
Ahja, want ik las dat en dacht "ja goeie" en daarna kwam ik pas bij die stapel ifjes die je met een enkele forloop over die values had kunnen vervangen :D

[ Voor 9% gewijzigd door DataGhost op 02-12-2023 13:25 ]


Acties:
  • 0 Henk 'm!

  • gedonie
  • Registratie: Januari 2011
  • Laatst online: 09-09 10:31
Om de een of andere reden ging dag 2 zeer veel sneller dan dag 1.

Hierbij het resultaat in Java: https://github.com/gjong/...advent2023/days/Day2.java

Acties:
  • 0 Henk 'm!

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 11-09 15:48
Varienaja schreef op zaterdag 2 december 2023 @ 10:33:
Ik heb voor de gein alles naar Streams gerefactored om te kijken of het dan op de slanke Python oplossingen gaat lijken. Maar volgens mij blijft er van de leesbaarheid niet veel over. >:)
Als je alleen met Strings, Maps en Integers werkt, dan wordt het idd niet leesbaar.
Werk je met eigen Objecten, dan wordt het al meer leesbaar.


.oisyn schreef op zaterdag 2 december 2023 @ 12:47:
Pfff, nom, ik heb mijn eigen lightweight ascii parser maar even ingetypt. 't Mooie van AoC is dat je nooit hoeft te checken of de input wel aan het juiste formaat voldoet :Y)
Ik heb het maar bij het simpele split() en parse() gelaten.
Misschien dat ik de volgende keer een parser als nom voor gebruik. Ik had al kort gezocht of rust standaard een stringparser heeft, maar ik vond die niet zo snel.

Mijn resultaat voor dag 2

let the past be the past.


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

SPee schreef op zaterdag 2 december 2023 @ 16:43:
Als je alleen met Strings, Maps en Integers werkt, dan wordt het idd niet leesbaar.
Werk je met eigen Objecten, dan wordt het al meer leesbaar.
Yep. @gedonie hierboven heeft eigenlijk exact hetzelfde, maar met een Object en dat is wel keurig leesbar.

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • Litpho
  • Registratie: Juni 2003
  • Laatst online: 22-08 10:47
SPee schreef op zaterdag 2 december 2023 @ 16:43:
Ik heb het maar bij het simpele split() en parse() gelaten.
Misschien dat ik de volgende keer een parser als nom voor gebruik. Ik had al kort gezocht of rust standaard een stringparser heeft, maar ik vond die niet zo snel.
Implementeren van de FromStr trait is volgens mij het meest idiomatisch, maar als je weet dat het niet kan falen is From<&str> zoals jij hebt gedaan net een slagje simpeler. Scheelt weer een unwrap.

Acties:
  • 0 Henk 'm!

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 11-09 15:48
Litpho schreef op zaterdag 2 december 2023 @ 16:58:
[...]

Implementeren van de FromStr trait is volgens mij het meest idiomatisch, maar als je weet dat het niet kan falen is From<&str> zoals jij hebt gedaan net een slagje simpeler. Scheelt weer een unwrap.
Ik zag pas later die FromStr trait. :P
Ik dacht toen "oh, die kan ik ook gebruiken", maar ik heb maar zo gelaten. Ik was het alweer vergeten en ik had geen zin in een refactorslag. :D

let the past be the past.


Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Hij was goed te doen vandaag, zolang je niet dezelfde fout maakt als ik tijdens het parsen (en deze case zit niet in de voorbeeld data):

spoiler:
Ik ging met behulp van twee for-loops door de grid om nummers/parts te parsen, maar vergat in te bouwen dat een part ook een nummer stopt, dus kreeg soms een nummer van 6 cijfers...

https://github.com/realma...de.Y2023/Solvers/Day03.cs

[ Voor 5% gewijzigd door MatHack op 03-12-2023 08:33 ]

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • arnold_m
  • Registratie: Januari 2010
  • Laatst online: 09-09 22:40
Het was inderdaad niet heel moeilijk.
spoiler:
Ik heb wel (bijna) dezelfde fout fout gemaakt, maar miste juist een paar getallen, doordat het buffertje met cijfers wel werd weggegooid.

flickr


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

Ik had eerst de testinvoer verkeerd geknipt en geplakt. Dat kostte een beetje tijd. Maar @MatHack en @arnold_m hebben helemaal gelijk. Het was lekker rechttoe rechtaan vandaag.

Dag 3 in Java.

[ Voor 28% gewijzigd door Varienaja op 03-12-2023 10:19 ]

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
MatHack schreef op zondag 3 december 2023 @ 07:44:
Hij was goed te doen vandaag, zolang je niet dezelfde fout maakt als ik tijdens het parsen (en deze case zit niet in de voorbeeld data):

spoiler:
Ik ging met behulp van twee for-loops door de grid om nummers/parts te parsen, maar vergat in te bouwen dat een part ook een nummer stopt, dus kreeg soms een nummer van 6 cijfers...

https://github.com/realma...de.Y2023/Solvers/Day03.cs
spoiler:
Ik was wat in de war door je gebruik van de termen. Bij mij is het nummer het part en zijn de *# enz de symbols. Een symbol beëindigt inderdaad ook een part number.
Ik heb simpelweg een regex op \d+ gebruikt, dan heb je dat probleem niet. :P


Mijn oplossing in Kotlin

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Mugwump schreef op zondag 3 december 2023 @ 10:04:
[...]


spoiler:
Ik was wat in de war door je gebruik van de termen. Bij mij is het nummer het part en zijn de *# enz de symbols. Een symbol beëindigt inderdaad ook een part number.
Ik heb simpelweg een regex op \d+ gebruikt, dan heb je dat probleem niet. :P
spoiler:
Haha, termen/namen is altijd leuk. Ik wilde ook meteen de coordinaten bij een getal hebben, daarom heb ik geen regex gebruikt.

There's no place like 127.0.0.1


Acties:
  • +1 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
MatHack schreef op zondag 3 december 2023 @ 10:06:
[...]


spoiler:
Haha, termen/namen is altijd leuk. Ik wilde ook meteen de coordinaten bij een getal hebben, daarom heb ik geen regex gebruikt.
spoiler:
Ik begeef mij voor het eerst in de wondere wereld van Kotlin en daar heb je dus best mooie dingen om regex extractie mét coordinaten te doen:

private fun extractPartNumbers(y: Int, line: String) : List<PartNumber> = Regex("\\d+").findAll(line).map { PartNumber(it.value.toInt(), Coordinate(it.range.first, y)) }.toList()

Een regex match bestaat uit een waarde en een van-tot range, dus coordinaat is regelnummer + start van de range.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Mugwump schreef op zondag 3 december 2023 @ 10:25:
[...]


spoiler:
Ik begeef mij voor het eerst in de wondere wereld van Kotlin en daar heb je dus best mooie dingen om regex extractie mét coordinaten te doen:

private fun extractPartNumbers(y: Int, line: String) : List<PartNumber> = Regex("\\d+").findAll(line).map { PartNumber(it.value.toInt(), Coordinate(it.range.first, y)) }.toList()

Een regex match bestaat uit een waarde en een van-tot range, dus coordinaat is regelnummer + start van de range.
Hmm... blijkbaar zit bij .NET index ook in het Match object van regex... Zo leer je toch weer eens wat.

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Ik heb er hier veel te lang over gedaan...

spoiler:
Wel slim gedacht om met een regex de getallen uit de tekst te halen en dan daaromheen checken. Niet slim genoeg om te controleren hoe de regex die ik voor dit soort werk al tijden gebruik omgaat met negatieve getallen... Toen was het binnen 10 minuten voor beiden delen gefixt :F

Acties:
  • +1 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 11-09 15:20
spoiler:
Op dag 3 heb ik al mijn library van stal kunnen halen. Normaal duurt het langer tot ik daaruit iets nodig heb.

Wel deze keer voor het eerst pretty printing toegevoegd voor het vinden van de bug in mijn code. :D

Afbeeldingslocatie: https://tweakers.net/i/I4MTKgPMiZqD5l62JLgmtHpKWTA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/EzHm3lFzfDq6YTmHH2yZL5Kr.png?f=user_large

https://github.com/remcos...er/adventofcode/Day3.java

Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Gropah schreef op zondag 3 december 2023 @ 11:04:
Ik heb er hier veel te lang over gedaan...

spoiler:
Wel slim gedacht om met een regex de getallen uit de tekst te halen en dan daaromheen checken. Niet slim genoeg om te controleren hoe de regex die ik voor dit soort werk al tijden gebruik omgaat met negatieve getallen... Toen was het binnen 10 minuten voor beiden delen gefixt :F
spoiler: Verschil in inputs
Had je negatieve getallen in je input dan, want bij mij waren ze alleen maar positief? Of pakte hij nu per ongeluk een symbool mee en maakte hij het negatief?

[ Voor 5% gewijzigd door MatHack op 03-12-2023 11:11 ]

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

MatHack schreef op zondag 3 december 2023 @ 11:10:
spoiler: Verschil in inputs
Had je negatieve getallen in je input dan, want bij mij waren ze alleen maar positief? Of pakte hij nu per ongeluk een symbool mee en maakte hij het negatief?
spoiler:
Ikke wel, maar dat is in mijn ogen een symbool met een gewoon positief getal ernaast.

Siditamentis astuentis pactum.


Acties:
  • +2 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

MatHack schreef op zondag 3 december 2023 @ 11:10:
[...]


spoiler: Verschil in inputs
Had je negatieve getallen in je input dan, want bij mij waren ze alleen maar positief? Of pakte hij nu per ongeluk een symbool mee en maakte hij het negatief?
spoiler:
Yes, ik had meerdere, zijnde -8 en -64
Varienaja schreef op zondag 3 december 2023 @ 11:13:
[...]

spoiler:
Ikke wel, maar dat is in mijn ogen een symbool met een gewoon positief getal ernaast.
spoiler:
En dat is dus ook hoe je hem hoort te zien. Maar die regex van mij nam de - mee als onderdeel van het getal

[ Voor 32% gewijzigd door Gropah op 03-12-2023 11:14 ]


Acties:
  • 0 Henk 'm!

  • BernardV
  • Registratie: December 2003
  • Laatst online: 10-09 14:37
MatHack schreef op zondag 3 december 2023 @ 11:10:
[...]


spoiler: Verschil in inputs
Had je negatieve getallen in je input dan, want bij mij waren ze alleen maar positief? Of pakte hij nu per ongeluk een symbool mee en maakte hij het negatief?
spoiler:
Het ligt er een beetje aan hoe je de nummers parsed denk ik, ik heb wel '-' als symbol in de input, maar die heb ik gewoon als symbol behandeld. Als je een library hebt die nummers kan vinden is het logisch dat die wel de '-' meeneemt


Hier dag 3 in PHP: https://github.com/BernardV/aoc2023/blob/main/day3/both.php

spoiler:
Ik heb er een flat array van gemaakt, is meestal sneller. Voor de gears hou ik gewoon een array bij met gevonden gear posities en wanneer een nummer klaar is en de gear posititie is ook aanwezig push ik die naar die array. Later filter ik de enkelen er weer uit.

Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

Ik doe nog een aanname die (toevallig?) met mijn input nog steeds het goede antwoord geeft:
spoiler:
Naast ieder getal staat niet meer dan 1 symbool.
Wie nog meer?

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11-09 13:18

Dido

heforshe

Varienaja schreef op zondag 3 december 2023 @ 11:19:
Ik doe nog een aanname die (toevallig?) met mijn input nog steeds het goede antwoord geeft:
spoiler:
Naast ieder getal staat niet meer dan 1 symbool.
Wie nog meer?
Nopes,
spoiler:
Als ik een symbool vind ben ik klaar, dan telt het part number. Geen reden om symbolen rond een nummer te gaan tellen.


Wel te lang bezig geweest met deel 2. Geen kovvie, en zitten haasten omdat de hond naar buiten moet, is geen goeie combo.

Na een paar bakkies pleur en een wandeling met de hond zat deel twee vrij snel in elkaar, maar da's niet goed voor mijn score :(

edit: Eerlijkheid gebied me wel te zeggen dat ik bij deel twee weer (!) in de valkuil be getrapt waar ik elk jaar een keer intrap... om vervolgens voor Jan met de korte achternaam te gaan zitten debuggen :X
spoiler:
int * int levert altijd een int op in C# :X

[ Voor 16% gewijzigd door Dido op 03-12-2023 11:32 ]

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • BernardV
  • Registratie: December 2003
  • Laatst online: 10-09 14:37
@Varienaja
spoiler:
Ik ook, heb m'n input snel op het oog gescand en toen kwam ik tot dezelfde conclusie.

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
Dido schreef op zondag 3 december 2023 @ 11:25:
[...]

Nopes,
spoiler:
Als ik een symbool vind ben ik klaar, dan telt het part number. Geen reden om symbolen rond een nummer te gaan tellen.


Wel te lang bezig geweest met deel 2. Geen kovvie, en zitten haasten omdat de hond naar buiten moet, is geen goeie combo.

Na een paar bakkies pleur en een wandeling met de hond zat deel twee vrij snel in elkaar, maar da's niet goed voor mijn score :(
Ik was de vorige keer wat gemakzuchtig geweest in de modellering tijdens deel 1 (wat toen toevallig goed uitpakte), maar deze keer rook al gelijk onraad. :P

spoiler:
Vond al die verschillende symbolen wat verdacht, dus had maar gelijk een modelletje gemaakt met een representatie van het symbool het bijbehorende coordinaat. Daardoor werd het gewoon een kwestie van door het lijstje symbolen heenlopen, filteren op *, mappen naar omliggende parts, filteren op exact 2 parts en de som van het product van elk nemen.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • YoToP
  • Registratie: Juli 2011
  • Laatst online: 25-07 16:56
Varienaja schreef op zondag 3 december 2023 @ 11:19:
Ik doe nog een aanname die (toevallig?) met mijn input nog steeds het goede antwoord geeft:
spoiler:
Naast ieder getal staat niet meer dan 1 symbool.
Wie nog meer?
spoiler:
Wanneer ik de zin "any number adjacent to a symbol" lees. dan denk ik dat een tweede symbool niet aangrenzend is, en dus niet mee telt.

Mijn code telt hem ook niet mee, want bij het zien van het eerste symbool stopt de reeks en rekent mijn code gelijk de waarde uit.

linkje naar code

[ Voor 7% gewijzigd door YoToP op 03-12-2023 11:36 . Reden: link naar github ]

Me think, why waste time say lot word, when few word do trick.


Acties:
  • 0 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Varienaja schreef op zondag 3 december 2023 @ 11:19:
Ik doe nog een aanname die (toevallig?) met mijn input nog steeds het goede antwoord geeft:
spoiler:
Naast ieder getal staat niet meer dan 1 symbool.
Wie nog meer?
spoiler:
same. Was nog even bang bij het begin van 2 dat er wellicht nummers met meerdere symbolen, waarvan 1 een *, en door mijn luie manier van zoeken gemist zouden worden. Maar dat was gelukkig niet zo.
Mugwump schreef op zondag 3 december 2023 @ 11:32:
[...]


Ik was de vorige keer wat gemakzuchtig geweest in de modellering tijdens deel 1 (wat toen toevallig goed uitpakte, maar deze keer rook al gelijk onraad. :P

spoiler:
Vond al die verschillende symbolen wat verdacht, dus had maar gelijk een modelletje gemaakt met een representatie van het symbool het bijbehorende coordinaat. Daardoor werd het gewoon een kwestie van door het lijstje symbolen heenlopen, filteren op *, mappen naar omliggende parts, filteren op exact 2 parts en de som van het product van elk nemen.
[spoiler]Ik rook ook onraad, maar zag het wel goedkomen. En dat kwam goed. Zodra het symbol een * is, voeg ik m toe aan een map met daarachter een lijst van nummers die er aan hangen. Die op het eind filteren voor lengte 2, vermenigvuldigen, sommen, en klaar.

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
Varienaja schreef op zondag 3 december 2023 @ 11:19:
Ik doe nog een aanname die (toevallig?) met mijn input nog steeds het goede antwoord geeft:
spoiler:
Naast ieder getal staat niet meer dan 1 symbool.
Wie nog meer?
spoiler:
Ik vroeg me af waarom dit relevant zou zijn, maar als je van symbolen mapt aangrenzende nummers dan kan dat natuurlijk problemen opleveren.

Ik keek gewoon of een nummer een aangrenzend symbool had, niet vice versa.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • +1 Henk 'm!

  • Litpho
  • Registratie: Juni 2003
  • Laatst online: 22-08 10:47
Veel te lang bezig geweest met deel 1 tot ik er achter kwam dat ik een foutje in de parser had waardoor getallen aan het einde van een regel niet meegeteld werden. Deel 2 was daarentegen maar een minuutje werk.

Tweede opgave in dit seizoen waar ik toch zelf ben gaan parsen ipv. nom te gebruiken - ga er vandaag nog wel even voor zitten om de coordinaten daar goed in te krijgen.

Acties:
  • 0 Henk 'm!

  • mbe81
  • Registratie: Juni 2008
  • Laatst online: 09:11
Litpho schreef op zondag 3 december 2023 @ 12:11:
Veel te lang bezig geweest met deel 1 tot ik er achter kwam dat ik een foutje in de parser had waardoor getallen aan het einde van een regel niet meegeteld werden. Deel 2 was daarentegen maar een minuutje werk.
Dit probleem had ik ook. Dat heeft me inderdaad te veel tijd gekost. Wat ik jammer vind is dat deze gevallen niet in het voorbeeld zitten. Net als in de eerste opgave had ik een situatie waarbij het resultaat op basis van het voorbeeld overeenkwam maar op basis van mijn eigen input afweek. In dit geval dus door mijn eigen fout, n het eerste geval omdat overlap van geschreven nummers was toegestaan.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Altijd goed om te zien dat je niet de enige bent met een probleem. Ik had ook een issue met getallen helemaal op het einde. Deel 2 viel me me, had verwacht dat ik langer bezig zou zijn.
https://github.com/CodeEn...23/blob/main/days/Day3.go

"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


Acties:
  • +1 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Had denk ik vanaf het begin de verkeerde afslag genomen,
spoiler:
Special characters als zoekpunt ipv de nummers.

Gelukkig was de spaghetti nog te refactoren :).

Python

Acties:
  • +1 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10-09 18:35

TrailBlazer

Karnemelk FTW

veel te lang naar een probleem gezocht in mijn code om nummers en het part er uit te filteren.
spoiler:
ik gooide elk part nummer in een dict met het part type er bij. Na veel zuchten bleken part nummers er dubbel in voor te komen. Gevolg was dat mijn totaal te laag was.

Code is nog superranzig denk ik maar weinig behoefte om deze mooier te maken op het moment.

Acties:
  • 0 Henk 'm!

  • gedonie
  • Registratie: Januari 2011
  • Laatst online: 09-09 10:31
Dag 3 was eindelijk weer wat nadenk werk nodig met een grid constructie.

Dag 3 in Java

Acties:
  • 0 Henk 'm!

  • vDorst
  • Registratie: November 2006
  • Niet online
Ging best aardig. https://github.com/vDorst/aoc2023/blob/main/src/bin/day3.rs

spoiler: Mijn oplossing
toch een handmatige parser gemaakt en telkens de locaties bewaren in een vector.
Dit gedaan voor numbers en symbolen.
Nu kon ik makkelijk itereren door de numbers en checken of er een symbool omheen stond.

deel twee heb ik verlijkbaar gedaan als in deel een maar voor aan symbol struct heb ik nog een extra numbers vector aan toe te voegen.
Elke keer als een number een match has met symbol, het nummer toegevoegd aan numbers vector.
later dan nog een door de symbol.numbers vector heen lopen om het antwoord te krijgen.

Acties:
  • +1 Henk 'm!

  • FCA
  • Registratie: April 2000
  • Laatst online: 09:53

FCA

Griephoofd maakt het toch wat lastiger (om nog maar te zwijgen van om 6 uur opstaan alsje griep hebt), of ligt het niet aan mij en is dag 3 dit jaar een stuk lastiger dan voorgaande jaren?

Verandert z'n sig te weinig.


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 07:27
Ook de derde dag afgerond. Was niet heel ingewikkeld.. Had wat te uitgebreid gedaan voor deel 1, maar daardoor was deel2 een eitje...

hier mijn R-brouwsel:
https://github.com/wimpel...e2023/blob/main/r/day03.R

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11-09 19:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Day3 in Rust.

De eerste waarbij beide resultaten meteen goed waren :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
Schiet mij maar in een apefluit. Ik heb het nu op vier verschillende manieren geprogrammeerd. Maar kom niet tot een goed antwoord.
spoiler:
ik parse de file om alle nummers te vinden en worden met posities en lengte gelogd (splitting op alle voorkomende symbols en. en end-line) Alleen positive integers
vervolgens loop ik over de nummers en check ik een submatrix om het getal heen en en check op het voorkomen van een symbol.
Test set werkt prima, maar de grote set gaat mis.

Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06 16:43

Varienaja

Wie dit leest is gek.

htca schreef op zondag 3 december 2023 @ 20:52:
Schiet mij maar in een apefluit. Ik heb het nu op vier verschillende manieren geprogrammeerd. Maar kom niet tot een goed antwoord.
Zonder code kan ik geen fout vinden. Heb je in jouw input getallen dubbel misschien? En je telt ze maar één keer?

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
Varienaja schreef op zondag 3 december 2023 @ 21:05:
[...]

Zonder code kan ik geen fout vinden. Heb je in jouw input getallen dubbel misschien? En je telt ze maar één keer?
Ja ik ik check maar een keer, dus als ik een symbol rondom een getal vind, wordt getal opgeteld en zoek ik niet verder.
https://github.com/htca/codeofadvent/tree/master/day3 (Python)

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 09:49

Reptile209

- gers -

htca schreef op zondag 3 december 2023 @ 20:52:
Schiet mij maar in een apefluit. Ik heb het nu op vier verschillende manieren geprogrammeerd. Maar kom niet tot een goed antwoord.
spoiler:
ik parse de file om alle nummers te vinden en worden met posities en lengte gelogd (splitting op alle voorkomende symbols en. en end-line) Alleen positive integers
vervolgens loop ik over de nummers en check ik een submatrix om het getal heen en en check op het voorkomen van een symbol.
Test set werkt prima, maar de grote set gaat mis.
Is je antwoord te hoog of te laag?

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
"not the right answer" geeft niet (meer) aan of het te hoog of te laag is.

Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
htca schreef op zondag 3 december 2023 @ 21:14:
"not the right answer" geeft niet (meer) aan of het te hoog of te laag is.
.x….
.123…
…*…

Deze case werkt ook?

Acties:
  • +1 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 09:49

Reptile209

- gers -

htca schreef op zondag 3 december 2023 @ 21:14:
"not the right answer" geeft niet (meer) aan of het te hoog of te laag is.
Oh? Bij mij gaf hij wel aan dat ik te laag zat.

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
Diderikdm schreef op zondag 3 december 2023 @ 21:23:
[...]


.x….
.123…
…*…

Deze case werkt ook?
x? Als ik die in * verander en de regels evenlang maak, krijg ik antwoord 123

[ Voor 17% gewijzigd door htca op 03-12-2023 21:30 ]


Acties:
  • +1 Henk 'm!

  • jeroenheijmans
  • Registratie: Maart 2012
  • Laatst online: 07-12-2024
Meta-tussendoortje:

Ik maak een jaarlijkse Survey onder Advent of Code deelnemers, en eind van de advent komt de uitslag op een dashboardje.

Als je de vragenlijst nog niet hebt ingevuld, dat kan dan hier (kost ~5 min): https://forms.gle/EcjgivgkdupD9mwj8 (en deel 'm gerust ook met collega's enzo! :D).

Als je wat meer achtergrond wilt heb ik een wat uitgebreidere Reddit post erover. Of je kunt een kijkje nemen bij de resultaten t/m 2022.

Thx!

Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

@htca snelle blik, dus corrigeer me als ik fout zit, maar moet de 2 in deze regel niet een 1 zijn (volgens mij pak je een regel teveel)?
Python:
1
 self.max_row = min(self.row + 2, len(mat))
Reptile209 schreef op zondag 3 december 2023 @ 21:26:
[...]

Oh? Bij mij gaf hij wel aan dat ik te laag zat.
Na een paar keer een antwoord geven geeft hij dit niet meer aan (als beveiliging voor gokken).

[ Voor 40% gewijzigd door MatHack op 03-12-2023 21:37 ]

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
MatHack schreef op zondag 3 december 2023 @ 21:33:
@htca snelle blik, dus corrigeer me als ik fout zit, maar moet de 2 in deze regel niet een 1 zijn (volgens mij pak je een regel teveel)?
Python:
1
 self.max_row = min(self.row + 2, len(mat))



[...]


Na een paar keer een antwoord geven geeft hij dit niet meer aan (als beveiliging voor gokken).
nee want de slicing loopt altijd "tot de waarde" en niet "tot en met de waarde".

Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

htca schreef op zondag 3 december 2023 @ 21:41:
[...]

nee want de slicing loopt altijd "tot de waarde" en niet "tot en met de waarde".
k, maar moet dit dan ook geen +2 zijn?
Python:
1
self.max_col = min(self.col + self.length + 1, len(mat[0]))

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
htca schreef op zondag 3 december 2023 @ 21:41:
[...]

nee want de slicing loopt altijd "tot de waarde" en niet "tot en met de waarde".
Om zeker te weten of je bounding box goed werkt kun je misschien even een paar simpele testcases maken met 1 nummer en dan per case een symbool er net in of net buiten. Als er dan toch ergens een off-by-one in zit dan zie je dat zo.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • arnold_m
  • Registratie: Januari 2010
  • Laatst online: 09-09 22:40
Varienaja schreef op zondag 3 december 2023 @ 21:05:
[...]

Zonder code kan ik geen fout vinden. Heb je in jouw input getallen dubbel misschien? En je telt ze maar één keer?
Ik denk dat Varienaja hier op het juiste spoor zit. Als een getal inderdaad dubbel in een regel zit, welke pos wordt dan gevonden op regel 39 in je code?

flickr


Acties:
  • +1 Henk 'm!

  • rengeltje
  • Registratie: September 2005
  • Laatst online: 23:31
htca schreef op zondag 3 december 2023 @ 20:52:
Schiet mij maar in een apefluit. Ik heb het nu op vier verschillende manieren geprogrammeerd. Maar kom niet tot een goed antwoord.
spoiler:
ik parse de file om alle nummers te vinden en worden met posities en lengte gelogd (splitting op alle voorkomende symbols en. en end-line) Alleen positive integers
vervolgens loop ik over de nummers en check ik een submatrix om het getal heen en en check op het voorkomen van een symbol.
Test set werkt prima, maar de grote set gaat mis.
spoiler:
Zou het misschien kunnen komen dat je de positie van nummers opzoekt met een find? Wat gebeurt er als je 2 keer hetzelfde nummer in een regel hebt, dan vind je 2x de eerste positie van dat nummer toch?

pos = line.find(num)

Oh, en nog een probleem met deze manier van zoeken: wat als je de volgende input hebt:

..1234...12...

De find op '12' vind opnieuw het getal '1234'.

het is waarschijnlijk makkelijker op de getallen als losse search() aanroepen te zoeken, waarbij je via de pos parameter zelf het startpunt van de search elke keer opschuift. Als search niets meer vind, ben je klaar met getallen op die regel...

[ Voor 19% gewijzigd door rengeltje op 03-12-2023 21:54 ]


Acties:
  • 0 Henk 'm!

  • htca
  • Registratie: November 2001
  • Nu online
Thanks! Dat was het...

Acties:
  • +3 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 09:35

MueR

Admin Tweakers Discord

is niet lief

Ik heb me vanochtend ook veel te lang achter de oren zitten krabben waarom mn oplossing voor deel 1 niet klopte. Als je op getallen gaat kijken via de ascii code, is het handig dat je niet 1 t/m 9 doet, maar ook de 0 meetelt... 8)7

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Visitor.q
  • Registratie: Augustus 2006
  • Laatst online: 11-09 12:04
Ik zal me even aanmelden bij de leaderboard, mijn Python 3 oplossingen staan hier:

Members only: github
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


Ik heb vorig jaar ook best veel geleerd van commentaar van anderen hierzo, en ook van het lezen van de code van anderen.
De eerste 2 dagen heb ik toch een beetje te moeilijk zitten denken. Zeker bij dag 1, toen ik een stream van een competitive coder zag die gewoon
spoiler:
alle posities in de infile stuk voor stuk naliep en bij alles keek of er een digit stond of dat de string vanaf die positie begon met een van de geschreven getallen
, realiseerde ik me dat ik vaak veel te veel in patronen denk waarvan ik geleerd heb dat ik ze zou moeten vermijden (bv nested loops) maar uiteindelijk levert dat een hoop gerommel en onduidelijke code op.

De opdracht van vandaag dus maar met een frisse blik aangegaan zonder premature optimization.
Diderikdm schreef op zondag 3 december 2023 @ 12:51:
Had denk ik vanaf het begin de verkeerde afslag genomen,
spoiler:
Special characters als zoekpunt ipv de nummers.

Gelukkig was de spaghetti nog te refactoren :).

Python
spoiler:
Dat had ik dus wel gedaan; gezocht op special characters. Bleek daarna dat de \ en +-= er ook bij hoorden. Toen ik die had toegevoegd werkte het toch gewoon goed, maar jouw oplossing (geen . en geen nummer) is denk ik wel robuuster. Ook leuk om te zien hoe je de walrus operator gebruikt, ik ben er in dag 1+2 al een aantal keer tegenaan gelopen dat ik een variabele wilde aanmaken en checken of hij leeg was maar kon geen elegante manier vinden om dat te combineren maar ik realiseer me nu dat dat dus die := moet zijn.

Acties:
  • 0 Henk 'm!

  • Friits
  • Registratie: December 2023
  • Laatst online: 24-06 08:21
Leuk, ik doe dit jaar ook weer mee! Ik heb geen repo, maar zal wel af en toe m'n oplossing posten.

Soms maak ik wat stevige aannames over de input, maar dat vind ik bij dit soort puzzels niet zo belangrijk. Correct antwoord betekent correcte code ;)

Python: dag 1b, dag 2b, en dag 3.

[ Voor 53% gewijzigd door Friits op 03-12-2023 23:53 . Reden: linkjes... ]


Acties:
  • 0 Henk 'm!

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Beetje laat aan toe gekomen vandaag, maar toch:

Deel 3 (Kotlin)

Tja


Acties:
  • 0 Henk 'm!

  • jammo
  • Registratie: November 2020
  • Laatst online: 11-09 13:00
Het heeft veel te lang geduurd voordat ik er achter kwam dat ik het eerste cijfer uit de test niet mee had gekopieerd (waardoor mijn test fout bleef gaan)..

Maar uiterlijk dag 3 in rust https://github.com/jammo-.../aoc2023/src/bin/day03.rs

Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 07:27
Ik moest vannacht werken (ivm de sneeuw), en dacht dag 4 wel in 1x mee te kunnen pikken.. Maar nu is de sneeuw al eerder overgetrokken dan gepland.. en ga ik toch maar naar bed.

Sowieso was/is slapen waarschijnlijk een beter idee.. als ik zie hoeveel tikfouten de spellingscontrole al uit dit korte bericht heeft gehaald ;-)

Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Vandaag bijna net zolang bezig geweest met het parsen van de input als met de logica voor de oplossing :X Nog steeds relatief simpel, gelukkig

spoiler:
Had in eerste instantie niet door dat de lengte van de regels in de test-set korter waren dan de echte data. Ik had in eerste instantie lekker gemakkelijk een paar ranges/blokken uit de regel gepakt om te verwerken, maar toen bleek ik toch echt te moeten splitsen op de gegeven karakters.

https://github.com/realma...de.Y2023/Solvers/Day04.cs

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • rengeltje
  • Registratie: September 2005
  • Laatst online: 23:31
MatHack schreef op maandag 4 december 2023 @ 07:32:
Vandaag bijna net zolang bezig geweest met het parsen van de input als met de logica voor de oplossing :X Nog steeds relatief simpel, gelukkig

spoiler:
Had in eerste instantie niet door dat de lengte van de regels in de test-set korter waren dan de echte data. Ik had in eerste instantie lekker gemakkelijk een paar ranges/blokken uit de regel gepakt om te verwerken, maar toen bleek ik toch echt te moeten splitsen op de gegeven karakters.

https://github.com/realma...de.Y2023/Solvers/Day04.cs
Yup, hier hetzelfde. Totale :? en daarna grote 8)7 :

spoiler:
Je moet bij deel 2 opeens het aantal kaarten tellen, en niet meer de punten per kaart...

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
Zo, dat was dag 4.

Vooral wat in de weg gezeten door m'n gebrekkige Kotlinkennis. "\\s+" heeft een toRegex() nodig om em als regex te gebruiken.

spoiler:
Deel 1 is vrij eenvoudig. Gewoon 2 ^ (matchingNumbers -1, 0) indien matchingNumbers > 0.
Deel 2 heb ik echt gruwelijk lelijk gedaan met een map van game number naar list<Cards> waar ie dan doorheen loopt en steeds kaartjes toevoegt. Dde executietijd was ook wat beschamend, maar goed het resultaat klopte. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • +1 Henk 'm!

  • rengeltje
  • Registratie: September 2005
  • Laatst online: 23:31
Mugwump schreef op maandag 4 december 2023 @ 07:35:
Zo, dat was dag 4.

Vooral wat in de weg gezeten door m'n gebrekkige Kotlinkennis. "\\s+" heeft een toRegex() nodig om em als regex te gebruiken.

spoiler:
Deel 1 is vrij eenvoudig. Gewoon 2 ^ (min(matchingNumbers -1, 0)).
Deel 2 heb ik echt gruwelijk lelijk gedaan met een map van game number naar list<Cards> waar ie dan doorheen loopt en steeds kaartjes toevoegt. Dde executietijd was ook wat beschamend, maar goed het resultaat klopte. :P
Dat soort programmeren mag nog voor 08:00 in de ochtend :X

spoiler:
Wat een stuk sneller is om alleen een multipier (vermenigvuldigingsfactor in lang Nederlands) bij te houden per kaart. Telt lekker makkelijk op per kaart bij het dupliceren, en verwerkt ook snel bij het bepalen van de winst per kaart (niet dat dat nodig was, zie mijn vorige post :-)).

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
rengeltje schreef op maandag 4 december 2023 @ 07:37:
[...]


Dat soort programmeren mag nog voor 08:00 in de ochtend :X

spoiler:
Wat een stuk sneller is om alleen een multipier (vermenigvuldigingsfactor in lang Nederlands) bij te houden per kaart. Telt lekker makkelijk op per kaart bij het dupliceren, en verwerkt ook snel bij het bepalen van de winst per kaart (niet dat dat nodig was, zie mijn vorige post :-)).
Ja ik bedacht me zelf net ook al dat dat handiger is. Ga zo in de trein richting werk eens even testen hoeveel dat scheelt. Benchmark van deze oplossing was een kleine 7 seconden.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • YoToP
  • Registratie: Juli 2011
  • Laatst online: 25-07 16:56
Leuke puzzel vandaag! Python code

spoiler:
Met Sets en Defaultdicts hoef je zelf niet zo veel meer bij te houden. Fijn!

Me think, why waste time say lot word, when few word do trick.


Acties:
  • +4 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 02-07 09:03

ElkeBxl

Tassendraagster

Topicstarter
Eindelijk er eens toe gekomen om de topicstart te updaten met iedereen die gestuurd had :) Sorry voor de vertraging! Vanavond ofzo kijk ik er zelf eens naar om aan de AoC te beginnen :D

Without nipples, boobs are pointless - 365 project - In mijn hoofd is het alle dagen Kerstmis - What type of bees make milk? Boobies! - What type of bees are scary? BoooOOOOOooobeees! - Cactusliefhebster


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Ziezo, vandaag ook weer klaar.
spoiler:
Net iets te lang bezig geweest met het bepalen wat de identifiers van de Cards waren om in deel 2 de volgende kaarten te identificeren. In het voorbeeld heet de eerste kaart "Card<spatie>1", maar in de echte set "Card<spatie><spatie><spatie>1". Ik had beter het regelnummer kunnen pakken als identifier in plaats van

int(line.split(':')[0].replace(' ','')[4:])

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • Litpho
  • Registratie: Juni 2003
  • Laatst online: 22-08 10:47
Dag 4 was relatief simpel, maar mijn eerste poging tot part 2 gaf weliswaar het goede resultaat maar is ook nog aan wat optimalisatie onderhevig. Vanavond eens naar kijken.

Acties:
  • 0 Henk 'm!

  • MadEgg
  • Registratie: Februari 2002
  • Nu online

MadEgg

Tux is lievvv

Dag 4 maar eens vroeg (voor mijn doen) gedaan. Deel 2 was inderdaad even een :? momentje maar viel ook wel weer mee na het voorbeeld.

Dag 4 (Kotlin)

Tja


Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Prima dag, bij part 2 lang vast gezeten op vergelijking met een lege collectie (welke ook nooit gevuld zou worden) 8)7

Python
[b]Visitor.q schreef op zondag 3 december 2023 @ 22:43:
spoiler:
Dat had ik dus wel gedaan; gezocht op special characters. Bleek daarna dat de \ en +-= er ook bij hoorden. Toen ik die had toegevoegd werkte het toch gewoon goed, maar jouw oplossing (geen . en geen nummer) is denk ik wel robuuster. Ook leuk om te zien hoe je de walrus operator gebruikt, ik ben er in dag 1+2 al een aantal keer tegenaan gelopen dat ik een variabele wilde aanmaken en checken of hij leeg was maar kon geen elegante manier vinden om dat te combineren maar ik realiseer me nu dat dat dus die := moet zijn.
Ah yes, walrus kostte me ook even om aan te wennen maar die is top. Keerzijde is ook dat het wel 'makkelijk' is om er obscure code mee te schrijven die je normaal niet zonder zou kunnen schrijven.

Acties:
  • +1 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 11-09 19:33
Nou mijn beroepseer is gered. :P

spoiler:
Het origineel
Total value: 5920640
Execution time 6.612145250s

De verbeterde versie
Total value: 5920640
Execution time 28.917291ms

Nog steeds niet helemaal blij met het gebruik van mutable datastructures, volgens mij kan het ook gewoon met recursief terugkijken oid.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10-09 18:35

TrailBlazer

Karnemelk FTW

Day 4 Python

spoiler:
het gebruiken van sets was misschien wel mooier maar ach

Acties:
  • 0 Henk 'm!

  • FrankMennink
  • Registratie: Mei 2011
  • Laatst online: 13-04 11:34
Even inhalen na het weekend

Day 2 in Python
Day 3 in Python
Day 4 in Python

Ben wel blij met de vooruitgang t.o.v. voorgaande jaren, nu gelijk voor een oplossing gekozen die in ~10ms draait. Ik weet zeker dat deel 2 vorig jaar wel een paar seconden zou duren om te draaien voor de eerste poging :D

Acties:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11-09 19:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Day4 in Rust

Auto klaagde met een check engine lichtje. Dan maar thuis werken. Dat uurtje dat ik anders op de weg had gezeten kon ik mooi gebruiken om dag 4 te doen :P

[ Voor 48% gewijzigd door .oisyn op 04-12-2023 10:39 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 10-09 18:35

TrailBlazer

Karnemelk FTW

spoiler:
ben benieuwd hoe eerlijk deze loten zijn want de laaste paar hebben nooit meer matches dan er totaal aan loten zijn.
card 189 has 2 matches
card 190 has 1 matches
card 191 has 0 matches

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11-09 19:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

TrailBlazer schreef op maandag 4 december 2023 @ 10:39:
spoiler:
ben benieuwd hoe eerlijk deze loten zijn want de laaste paar hebben nooit meer matches dan er totaal aan loten zijn.
card 189 has 2 matches
card 190 has 1 matches
card 191 has 0 matches
Sowieso, het enige dat je met de loten blijkbaar kunt winnen is nog meer loten :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1 2 ... 11 Laatste