Advent of Code 2022 Vorige deel Overzicht Volgende deel Laatste deel

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

Pagina: 1 2 ... 12 Laatste
Acties:

Acties:
  • +19 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 16-05 11:22

ElkeBxl

Tassendraagster

Topicstarter
Wederom komt december eraan, voor de puzzel fanaten is de Advent of Code er dus weer! Van 1 tot en met 25 december zijn er elke dag 2 puzzels beschikbaar, om zo het grote raadsel van dit jaar op te lossen. De raadsels zijn zo opgezet dat ze het beste met een stuk programmatuur kunnen worden opgelost. Uiteindelijk krijg je elke dag jou eigen unieke input, waarbij één bepaalde output hoort.

Een puzzel is gebruikelijk in een soort verhaal vorm geschreven. Een goed voorbeeld, ook om te oefenen vind je hier.

Ook in 2015, 2016, 2017, 2018, 2019, 2020 en 2021 deed de Tweakers community mee, dus ook dit jaar kunnen we weer aan de slag:
Advent of Code 2015
Advent of Code 2016
Advent of Code 2017 Leaderboard
Advent of Code 2018 Leaderboard
Advent of Code 2019 Leaderboard
Advent of Code 2020 Leaderboard
Advent of Code 2021 Leaderboard

Je kan je aanmelden via website: https://www.adventofcode.com. Op de website is er weer een tweakers leaderboard (let op: de code is anders dan voorgaande jaren!). Meld je hier aan met code:

Members only: Leaderboard code
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


Het kan zijn dat het leaderboard vol is, (max. 200), na een aantal dagen kan ik wat inactieve accounts eruit gooien, stuur mij dan een berichtje, als er weer plek is laat ik weten wanneer je het nog een keer kan proberen.

Discussie over de puzzels mag, maar probeer niets te spoilen voor de rest! (of gebruik de spoiler tag)

Members only: Overzicht van de deelnemers, taal en hun code repo:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


Stuur ElkeBxl even een PM om ook in de lijst te komen. Stuur hierbij de link naar de repository en de taal/talen die je gebruikt.

Met dank aan Daanoz voor de organisatie van vorige jaren en waar ik schaamteloos deze topic text van geript heb. If we ever meet, trakteer ik je eens iets :9B

[ Voor 39% gewijzigd door ElkeBxl op 15-12-2022 09:22 ]

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:
  • +1 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 21:17
Zin in, elke ochtend 5:30 de wekker. Vorig jaar (op paar dagen na) tot het einde volgehouden, dus ben benieuwd of dat me weer gaat lukken.

Acties:
  • +3 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Cool! Count me in. Ik doe weer mee, net als de afgelopen jaren. Nog nooit helemaal uitgespeeld, al kwam ik vorig jaar een heel eind met 40 sterren. Kijken hoe ver ik dit jaar kom.

Tip voor iedereen die zich nog wil voorbereiden:
Op Reddit een post met alle (!) 350 voorgaande opgaven gerangschikt naar moeilijkheid en categorie:
https://www.reddit.com/r/...gorization_and_megaguide/

[ Voor 40% gewijzigd door P_Tingen op 30-11-2022 13:42 ]

... en gaat over tot de orde van de dag


Acties:
  • +1 Henk 'm!

  • Gilotto
  • Registratie: Juni 2011
  • Laatst online: 07-06 09:42

Gilotto

Paint Skillz

Net als vorig jaar doe ik weer mee in de taal F#.
Afgelopen jaren tot dag 9 geschopt.
Wie weet kom ik dit jaar verder.

Bedankt voor het regelen van het topic @ElkeBxl !

Acties:
  • +1 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Leuk!

6 uur wordt waarschijnlijk te vroeg voor me de meeste dagen maar we gaan het zien.

Thanks voor de topic!

Acties:
  • +1 Henk 'm!

  • Camulos
  • Registratie: Januari 2009
  • Laatst online: 01-06 14:27

Camulos

Stampert

super!!! ik ben ook weer van de partij :) met C#

Not just an innocent bystander


Acties:
  • +1 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Op de valreep nog even 2015 afgerond *O*

Nu nog 2016, 2018, 2019 (not looking forward to this one -O- ) en, uiteraard, 2022 8)

Acties:
  • +1 Henk 'm!

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 00:59
Weer van de partij, met Python. Hoop dat ik dit jaar eindelijk weer alle sterren kan verzamelen.. :+

Acties:
  • +1 Henk 'm!

  • Beneveerg
  • Registratie: Augustus 2011
  • Laatst online: 12-06 15:41
Vorige keren geprobeerd met PowerShell, maar dat werd hem niet.

Recent wat gedaan met Python, dus eens proberen of dit gaat lukken.

Het leven is te kort om te testen


Acties:
  • +1 Henk 'm!

  • Daanoz
  • Registratie: Oktober 2007
  • Laatst online: 18-05 11:44
Thx voor het overnemen @ElkeBxl! _/-\o_

Sinds dit jaar een kleine rond kruipen, heb wat minder tijd over :+, zeker in de ochtend.

Ga als nog wat puzzels proberen te maken, in ieder geval met TypeScript, misschien een uitstapje naar Rust (github).

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Ik ga ze gewoon doordeweeks om 8 uur doen, zodra vrouwlief vertrekt om de kinderen naar school te brengen.

In het weekend gaat gewoon de laptop op het nachtkastje en dan begin ik zodra ik wakker genoeg ben :+

Acties:
  • +1 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Uiteraard doet deze Erlang’er weer mee :)

Meestal schop ik het tot een dag of 15-20 en dan houd het op want of ik ben dan in Nederland of op vakantie ergens anders… :+ Dit jaar geen plannen dus eens zien of we hem af kunnen maken… :P Heb in ieder geval geen excuus dit jaar… :F

Always looking for developers wanting to work with Erlang.


Acties:
  • +1 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 05-06 10:49

Varienaja

Wie dit leest is gek.

Ik was geestelijk voorbereid op een eenvoudig beginnerspuzzletje. Dat was het ook, maar wat _is_ het eenvoudig om suffe foutjes te maken! Ik dacht "ik klop die code in 1x correct in", maar niks hoor. Gewoon debuggen was het devies: :-)

Siditamentis astuentis pactum.


Acties:
  • 0 Henk 'm!

  • jmerle
  • Registratie: November 2015
  • Laatst online: 09-06 03:06
Normaal ben ik geen ochtendmens, maar deze maand ga ik toch proberen iets eerder uit bed te komen om een mooie leaderboard score neer te zetten. Gelukkig beginnen we weer met een relatief makkelijke dag en had ik 'm snel te pakken, ik ben benieuwd wat ons de komende weken te wachten staat.

Acties:
  • 0 Henk 'm!

  • Devilfish
  • Registratie: Augustus 2001
  • Laatst online: 15:00
Ik doe ook weer mee :) Ik kijk er al even naar uit, dit jaar ook een subpoule met werk aangemaakt.

Devilfish C# https://github.com/antonr...nt/tree/main/puzzles/2022

Acties:
  • 0 Henk 'm!

  • bakkerjangert
  • Registratie: Februari 2012
  • Laatst online: 16:19
Ik doe ook weer mee dit jaar met python. Eerst dag was goed te doen al vond ik hem voor een starter wel iets pittiger dan voorgaande jaren. Zal dit een voorbode zijn voor de rest van de reeks?

Acties:
  • 0 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Dag 1 was goed te doen, tijd om het maximale uit Erlang te persen en te gaan mierenneuken... Want dat is wat voor mij het leukste is aan AoC, kijken hoe vér kan ik gaan in termen van performance. :+ Meeste puzzels zijn namelijk niet echt waar Erlang voor bedoeld is :+

Always looking for developers wanting to work with Erlang.


Acties:
  • +2 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Swedish Clown schreef op donderdag 1 december 2022 @ 08:14:
Dag 1 was goed te doen, tijd om het maximale uit Erlang te persen en te gaan mierenneuken... Want dat is wat voor mij het leukste is aan AoC, kijken hoe vér kan ik gaan in termen van performance. :+ Meeste puzzels zijn namelijk niet echt waar Erlang voor bedoeld is :+
Datzelfde geldt voor mijn taal, Progress 4GL. Vandaag was prima te doen omdat Progress temp-tables heeft, een tabel in geheugen. Die kan ik hier goed voor gebruiken.

https://github.com/patric...e/tree/master/2022/Day-01

Edit: ik verbaas mij ook nu weer over de kracht van andere talen. Progress is behoorlijk 'verbose' als ik mijn oplossing bv vergelijk met die van @Devilfish: 5 regels tegenover dik 20 ....

Oh, en @Devilfish: van harte!

[ Voor 15% gewijzigd door P_Tingen op 01-12-2022 08:21 ]

... en gaat over tot de orde van de dag


Acties:
  • +1 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Een maandje zonder werk, dus lekker meedoen :9 . Natuurlijk had ik gisteren alle boilerplate moeten doen, want nu was ik vandaag toch vooral druk met opzetten van repo, etc. ipv met de opdracht.

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 16-05 11:22

ElkeBxl

Tassendraagster

Topicstarter
Dag 1 was goede om mijn Rust kennis weer op te frissen. Het was bijna een jaar geleden dat ik het nog schreef :P

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!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Wie heeft er interesse in een input van say 500MB? :+ :P (Bonus challenge vanuit mijn werkgever)

Edit: Uploading... :+

[ Voor 11% gewijzigd door Swedish Clown op 01-12-2022 09:21 . Reden: Uploading... ]

Always looking for developers wanting to work with Erlang.


Acties:
  • +1 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Swedish Clown schreef op donderdag 1 december 2022 @ 09:01:
Wie heeft er interesse in een input van say 500MB? :+ :P (Bonus challenge vanuit mijn werkgever)
Kommaardoor

... en gaat over tot de orde van de dag


Acties:
  • +1 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

*O* Bonus challenge for those that accept :9B

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen


@P_Tingen ^

Always looking for developers wanting to work with Erlang.


Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B
***members only***
@P_Tingen ^
Haha, 69 miljoen regels. Programma is nu aan het stampen met ~100.000 regels / sec.
Progress is hier niet supergeschikt voor.....

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***


@P_Tingen ^
spoiler:
184028272
549010145

0:00:15.224501

Haha flink bestandje wel :9

[ Voor 2% gewijzigd door Creepy op 01-12-2022 15:59 ]


Acties:
  • +1 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Diderikdm schreef op donderdag 1 december 2022 @ 09:54:
[...]

spoiler:
184028272
549010145

0:00:15.224501

Haha flink bestandje wel :9
Duurde ook wel even om het bestand te genereren... _O- Antwoord klopt trouwens! d:)b

[ Voor 2% gewijzigd door Creepy op 01-12-2022 15:59 ]

Always looking for developers wanting to work with Erlang.


Acties:
  • 0 Henk 'm!

  • Beneveerg
  • Registratie: Augustus 2011
  • Laatst online: 12-06 15:41
Dag 1 was als beginneling goed te doen. Zoals gewoonlijk heb ik eerder moeite met het "Hoe zou je dit moeten doen" dan met het "Hoe maak ik hier code van"

Het 500 mb bestand duurde er bij mij een stuk langer over dan 15 seconde. Maar output klopt wel.

Het leven is te kort om te testen


Acties:
  • +1 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B
***members only***
Goede antwoord in 0:15:47 (ja, minuten)

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • FrankMennink
  • Registratie: Mei 2011
  • Laatst online: 13-04 11:34
Dag 1 in Python

spoiler:
184028272
549010145

6.82 seconden voor de grote file, had slechter verwacht voor Python :D

[ Voor 4% gewijzigd door Creepy op 01-12-2022 15:56 . Reden: Spoilers! ]


Acties:
  • 0 Henk 'm!

  • bakkerjangert
  • Registratie: Februari 2012
  • Laatst online: 16:19
Python in 20 seconden met vergrote data set.

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

Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Kon het niet laten, toch een optimalisatie kunnen doorvoeren, nu goede antwoord in 184 seconden.

spoiler:
Ik bewaarde oorspronkelijk de totalen van alle elfen, maar dat is natuurlijk niet nodig als je alleen de drie hoogste waardes wil hebben. Scheelt enorm in geheugengebruik, en aanmaken van records in mijn tijdelijke tabel.

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 16-05 11:22

ElkeBxl

Tassendraagster

Topicstarter
Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***
Deel 1:
2s 110ms 952µs
Deel 2:
1s 457ms 225µs
Daar ben ik tevreden mee :)

[ Voor 34% gewijzigd door ElkeBxl op 01-12-2022 16:03 ]

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!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12-06 21:15

MueR

Admin Tweakers Discord

is niet lief

17 seconden in php voor de grote dataset. Dat kan beter..

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


Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 04-06 21:19
Vorig jaar tot dag 18 gekomen, we zullen zien waar het schip dit jaar strand! ;)
Maar gewoon in python aan de slag gegaan, toch het makkelijkste qua data parsing voor mij en ik wil daar niet teveel tijd aan kwijt zijn.

Moet de rommel nog ff op git zetten en me weer aanmelden voor de leaderboard

De grote dataset ging iig in 57s op een MBA2015

Hadden we vorig jaar niet een tweaker die grote datasets genereerde? @DataGhost?

Acties:
  • 0 Henk 'm!

  • Jellu
  • Registratie: April 2015
  • Laatst online: 10-06 16:58
17.2 seconden voor de grote set in python.
Kijken of het lukt om alle dagen op te lossen

Acties:
  • +3 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Even de guru triggeren: Wedden dat @.oisyn de grote dataset niet onder 0.5s kan? :7

{signature}


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

ik ben nog het langste bezig geweest om de data in te lezen. Ik denk veel te moeilijk. Heb ik weer een regex gebouwd om te bepalen of het een getal is of een lege regel. Anyway toen ik de data eenmaal had was het verder makkelijk.

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 13-06 13:44

DataGhost

iPL dev

Cranzai schreef op donderdag 1 december 2022 @ 12:02:
Vorig jaar tot dag 18 gekomen, we zullen zien waar het schip dit jaar strand! ;)
Maar gewoon in python aan de slag gegaan, toch het makkelijkste qua data parsing voor mij en ik wil daar niet teveel tijd aan kwijt zijn.

Moet de rommel nog ff op git zetten en me weer aanmelden voor de leaderboard

De grote dataset ging iig in 57s op een MBA2015

Hadden we vorig jaar niet een tweaker die grote datasets genereerde? @DataGhost?
Ja soms, maar voor dag 1 al? :+
Net begonnen want ik had nog niet door dat het december was, oude VM weer afgestoft, eerste poging kreeg m'n dataset niet gedownload omdat m'n sessie was verlopen, tweede poging downloadde m'n script de input voor dag 1 van vorig jaar dus dat antwoord was fout, derde poging eindelijk gelukt en direct correct :+ Dus ik ben nu hopelijk set voor een probleemloze rest van de maand.

Als er in de komende dagen duidelijke opdrachten zijn waarbij een sub-optimale oplossing er "te lang" over zou doen maak ik misschien wel weer grote datasets maar er moet ook niet te veel tijd in gaan zitten, ik moet ook nog andere dingen doen :) Maar vandaag vond ik algoritmisch nog compleet niet interessant. Dat gebeurt meestal pas richting week twee en misschien een klein stukje in week 3, daarna zijn de opdrachten vaak complex genoeg dat er geen antwoorden meer uit suboptimale oplossingen komen.

Acties:
  • +2 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 13-06 13:44

DataGhost

iPL dev

TrailBlazer schreef op donderdag 1 december 2022 @ 13:04:
ik ben nog het langste bezig geweest om de data in te lezen. Ik denk veel te moeilijk. Heb ik weer een regex gebouwd om te bepalen of het een getal is of een lege regel. Anyway toen ik de data eenmaal had was het verder makkelijk.
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

:+

spoiler:
Ik kijk of een regel leeg is door gewoon te kijken of de regel leeg is

Acties:
  • +1 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

FrankMennink schreef op donderdag 1 december 2022 @ 10:36:
Dag 1 in Python
spoiler:
184028272
549010145

6.82 seconden voor de grote file, had slechter verwacht voor Python :D
als ik kijk naar jouw code volgens mij mis je de laatste elf in de reeks. Alleen als je een lege regel vindt append je ze. Het input bestand heeft geen lege regel aan het eind.

[ Voor 1% gewijzigd door Creepy op 01-12-2022 15:58 ]


Acties:
  • 0 Henk 'm!

  • iThinkSo
  • Registratie: April 2011
  • Laatst online: 02-04 12:35

iThinkSo

Ik heb deze tekst en jij niet!

DataGhost schreef op donderdag 1 december 2022 @ 13:21:
spoiler:
Ik kijk of een regel leeg is door gewoon te kijken of de regel leeg is
Genius :o

Acties:
  • 0 Henk 'm!

  • joppybt
  • Registratie: December 2002
  • Laatst online: 23:40
TrailBlazer schreef op donderdag 1 december 2022 @ 13:23:
[...]

als ik kijk naar jouw code volgens mij mis je de laatste elf in de reeks. Alleen als je een lege regel vindt append je ze. Het input bestand heeft geen lege regel aan het eind.
Mijn fout was juist dat ik door copy-paste wél een lege regel aan het einde had. Daar kon mijn code niet goed tegen.

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12-06 21:15

MueR

Admin Tweakers Discord

is niet lief

DataGhost schreef op donderdag 1 december 2022 @ 13:21:
[...]

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

:+

spoiler:
Ik kijk of een regel leeg is door gewoon te kijken of de regel leeg is
Jij speelt vals. Dat is te makkelijk.

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


Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 13-06 13:44

DataGhost

iPL dev

MueR schreef op donderdag 1 december 2022 @ 13:43:
[...]

Jij speelt vals. Dat is te makkelijk.
Mja mijn framework wat ik de afgelopen paar jaar heb opgebouwd regelt boilerplate shit zoals
spoiler:
automatisch de invoer downloaden, inlezen, splitsen per regel of op delimiter, strippen van newlines/whitespace, automatisch alle sub-antwoorden summen, controleren van uitkomst adhv gegeven test-in/output, etc, etc

al helemaal vanzelf zodat ik er ook niet meer over hoef na te denken. Dus ik kan letterlijk
spoiler:
if line == "":

gebruiken om dit te checken. Of ja, dat doe ik eigenlijk niet eens, want ik
spoiler:
split de invoer gewoon op delimiter "" en dan krijgt elke problem-functie-call gewoon een lijst met niet-lege regels voor precies 1 elf


Hier is mijn simpele en korte code, goed genoeg voor een dag1-opdracht:
https://gitlab.dataghost....ent-of-code/-/snippets/30

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Voor de eerste dag alweer mijn library uitgebreid zodat ik nu dit kan typen :P

code:
1
2
3
4
5
6
7
8
    public int handlePart1(Stream<String> input) {
        return input.collect(new CombiningCollector<>(Integer::parseInt, String::isBlank))
                    .mapToInt(bag -> bag.stream()
                                        .mapToInt(Integer::intValue)
                                        .sum())
                    .max()
                    .orElseThrow(() -> new AssertionError("Eek!"));
    }

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Waarom kan ik de code niet in spoiler zetten?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13-06 11:55

Creepy

Tactical Espionage Splatterer

Zo, ook maar gestart: https://github.com/CodeEngineerNL/AdventOfCode2022

Zo'n combining collector was ik aan het zoeken. In project reactor zit wel zoiets, maar ik wilde dit nu niet weer gelijk reactive maken. Dus maar gewoon met "de hand" gedaan.

"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!

  • FrankMennink
  • Registratie: Mei 2011
  • Laatst online: 13-04 11:34
TrailBlazer schreef op donderdag 1 december 2022 @ 13:23:
[...]

als ik kijk naar jouw code volgens mij mis je de laatste elf in de reeks. Alleen als je een lege regel vindt append je ze. Het input bestand heeft geen lege regel aan het eind.
Goeie spot, klopt helemaal. Regeltje toegevoegd om ook de laatste toe te voegen. Thanks.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13-06 11:55

Creepy

Tactical Espionage Splatterer

Hmm, 3.5 secs en 4.6 secs met die grote file, en dat singlethreaded.

Het valt me op dat mensen de antwoorden hier posten. Nu krijgt niet iedereen dezelfde input, maar het is ook weer niet zo dat de input per persoon verschilt. Dus gebruik aub spoiler tags of post ze gewoon helemaal niet.

[ Voor 84% gewijzigd door Creepy op 01-12-2022 15:59 ]

"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!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 13-06 13:44

DataGhost

iPL dev

Creepy schreef op donderdag 1 december 2022 @ 15:55:
Hmm, 3.5 secs en 4.6 secs met die grote file, en dat singlethreaded.

Het valt me op dat mensen de antwoorden hier posten. Nu krijgt niet iedereen dezelfde input, maar het is ook weer niet zo dat de input per persoon verschilt. Dus gebruik aub spoiler tags of post ze gewoon helemaal niet.
Um, de enige antwoorden die ik hier gepost zie zijn juist voor die grote file, die voor iedereen hetzelfde is want die is niet van AoC :+

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13-06 11:55

Creepy

Tactical Espionage Splatterer

Hmm, dan las ik ff te snel :P (maar dan nog, kijk uit ;) )

"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!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

TrailBlazer schreef op donderdag 1 december 2022 @ 13:23:
[...]

als ik kijk naar jouw code volgens mij mis je de laatste elf in de reeks. Alleen als je een lege regel vindt append je ze. Het input bestand heeft geen lege regel aan het eind.
Hoe ik het ook bekijk, mijn input heeft gewoon een enter aan het einde. De input die als voorbeeld wordt gegeven niet, maar de daadwerkelijke input wel... weird.

There's no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

MatHack schreef op donderdag 1 december 2022 @ 16:25:
[...]


Hoe ik het ook bekijk, mijn input heeft gewoon een enter aan het einde. De input die als voorbeeld wordt gegeven niet, maar de daadwerkelijke input wel... weird.
Het is wat raar idd maar wel iets om bewust van te zijn.

Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 21:17
M'n quick-and-dirty versie in C doet 1.4s over de "grote" file:
Afbeeldingslocatie: https://tweakers.net/i/qX35IJu_dFqYVX7tAFCRlVeWcT8=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/yFzYo0ASJF0Dk54NLvOd7cbD.png?f=user_large

Geen idee wat voor trucjes er nog zijn om IO/parsing te optimalizeren, maar er kan vast nog wat van af.

/edit: zat nog typo in de CFLAGS en een eigen implementatie van `atoi` brengen 'm net onder de seconde:
Afbeeldingslocatie: https://tweakers.net/i/VNyME_qpteK3EePQzdENkV7pBi0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/P0HhmqBlH9cnIA9CNjortA89.png?f=user_large

[ Voor 24% gewijzigd door MrHaas op 01-12-2022 18:44 ]


Acties:
  • +1 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 21:17
jmerle schreef op donderdag 1 december 2022 @ 06:32:
Normaal ben ik geen ochtendmens, maar deze maand ga ik toch proberen iets eerder uit bed te komen om een mooie leaderboard score neer te zetten. Gelukkig beginnen we weer met een relatief makkelijke dag en had ik 'm snel te pakken, ik ben benieuwd wat ons de komende weken te wachten staat.
Holy shit, jij was snel _/-\o_ ! Ervaring met competitive coding zeker?

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 04-06 21:19
DataGhost schreef op donderdag 1 december 2022 @ 13:05:
[...]

Ja soms, maar voor dag 1 al? :+
Net begonnen want ik had nog niet door dat het december was, oude VM weer afgestoft, eerste poging kreeg m'n dataset niet gedownload omdat m'n sessie was verlopen, tweede poging downloadde m'n script de input voor dag 1 van vorig jaar dus dat antwoord was fout, derde poging eindelijk gelukt en direct correct :+ Dus ik ben nu hopelijk set voor een probleemloze rest van de maand.

Als er in de komende dagen duidelijke opdrachten zijn waarbij een sub-optimale oplossing er "te lang" over zou doen maak ik misschien wel weer grote datasets maar er moet ook niet te veel tijd in gaan zitten, ik moet ook nog andere dingen doen :) Maar vandaag vond ik algoritmisch nog compleet niet interessant. Dat gebeurt meestal pas richting week twee en misschien een klein stukje in week 3, daarna zijn de opdrachten vaak complex genoeg dat er geen antwoorden meer uit suboptimale oplossingen komen.
Voor dag 1 had ik hem nog niet verwacht uiteraard, gelukkig was er een ander voorbeeld.
Vorig jaar een hoop van je geleerd dus wie weet wat er dit jaar nog komen gaat d:)b

Acties:
  • 0 Henk 'm!

  • Cranzai
  • Registratie: November 2012
  • Laatst online: 04-06 21:19
TrailBlazer schreef op donderdag 1 december 2022 @ 13:23:
[...]

als ik kijk naar jouw code volgens mij mis je de laatste elf in de reeks. Alleen als je een lege regel vindt append je ze. Het input bestand heeft geen lege regel aan het eind.
Oh crap, dat doe ik ook niet geloof ik :X

Acties:
  • 0 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 17:05

Dricus

ils sont fous, ces tweakers

Dank voor het topic, leuk om zo weer oplossingen van anderen te kunnen lezen en ideeën uit te wisselen!

Dag 1 was een lekker simpel inkomertje. Prettig :).

Dag 1 - Kotlin

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...


Acties:
  • 0 Henk 'm!

  • Visitor.q
  • Registratie: Augustus 2006
  • Laatst online: 10-06 12:56
Fijn om dit jaar eindelijk een keer op tijd te weten dat AoC aan de gang is, ik zal eens kijken hoe ver ik kom. De opgave van vandaag gelukkig snel kunnen doorlopen en bijna foutloos (het resultaat op de website moest een int zijn en ik gaf een float, dat was fout).
Ik doe deze mee met Python, en doe veel met numpy, dus dat zal ik waarschijnlijk ook veel gebruiken.

Grote dataset ging ook goed, 0m30.931 in WSL.

Acties:
  • 0 Henk 'm!

  • user029
  • Registratie: Januari 2018
  • Niet online
Net als vorig jaar hoop ik dit jaar ook weer mee te doen. Niet erg competitief en waarschijnlijk ook niet tot het einde, maar we zien wel hoe ver het komt.

En ook ik kies voor python vanwege het gemak ;)

Acties:
  • +2 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Ok het was even wachten... Maar de vraag: kunnen we dag1 in compile time oplossen (zelfs met de grote input) en het antwoord is ja oOo Oplossing in 15 nanoseconden _O- (Ok ik moest even 20 minuten wachten voordat de boel gecompileerd was maar a lá daar hebben het maar even niet over :P)

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Always looking for developers wanting to work with Erlang.


Acties:
  • +4 Henk 'm!

  • jmerle
  • Registratie: November 2015
  • Laatst online: 09-06 03:06
MrHaas schreef op donderdag 1 december 2022 @ 17:42:
[...]


Holy shit, jij was snel _/-\o_ ! Ervaring met competitive coding zeker?
Die ervaring is zeker aanwezig ja :P

spoiler:
Vandaag was weer leuk, deze vereiste wat meer denkwerk dan gisteren. De versleuteling was een interessante twist op het traditionele steen/papier/schaar, daar ben ik wel een aantal keer op blijven hangen. Desalniettemin ben ik op de dag ranglijst 42e/45e geëindigd en sta ik nu 9e in de algemene ranglijst. Mijn Python code is hier te vinden.

Acties:
  • +2 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Haha, ik merk dat ik de oplossing gewoon te netjes wil doen |:( Natuurlijk had ik het probleem van vandaag kunnen oplossen in de vorm die @jmerle heeft gedaan, maar dat deed ik mijn hoofd meteen af als slordige/niet-elegante/te simpele code. 8)7

There's no place like 127.0.0.1


Acties:
  • +1 Henk 'm!

  • Dricus
  • Registratie: Februari 2002
  • Laatst online: 17:05

Dricus

ils sont fous, ces tweakers

Goed bezig @jmerle, respect! Hopelijk ga je dit volhouden tot en met dag 25!

Dag 2 - Kotlin

In de eerste instantie had ik dezelfde oplossing als @jmerle (maar dan in Kotlin, uiteraard). Daarna heb ik nog even gerefactored om het korter en bondiger te maken.

spoiler:
Dit zijn typisch van die puzzels waarbij ik al meteen weet dat een lookup tabel de boel lekker kort en simpel maakt, maar ik toch start met het helemaal uitschrijven, omdat dat gemakkelijker en sneller te maken is.

Ook is het met dit soort puzzels heel handig om de input een beetje voor te bewerken. Zo heb ik in dit geval bij het parsen van de input al de letters X, Y en Z naar A, B en C vertaald, zodat ik maar met één representatie van hetzelfde "ding" hoef te werken.


Desondanks was ik er veel langer mee bezig dan nodig. Het is weer duidelijk dat zorgvuldig lezen en niet gehaast werken uiteindelijk veel sneller gaat 8)7.

Stel niet uit tot morgen wat je vandaag nog tot morgen kunt uitstellen...


Acties:
  • 0 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 21:17
Initieel op de naieve manier opgelost, daarna nog een closed-form oplossing gegolfd:

spoiler:
p=print
d=[(ord((c:=m.split(" "))[0])-65,ord(c[1][0])-88) for m in open(0).readlines()]
p(sum(1+b+3*((b-a+1)%3) for a,b in d))
p(sum(3*b+(1+(a+b+2)%3) for a,b in d))

[ Voor 6% gewijzigd door MrHaas op 02-12-2022 08:50 ]


Acties:
  • 0 Henk 'm!

  • Diderikdm
  • Registratie: December 2020
  • Laatst online: 04-01-2024
Dag 2 - Python

Probeerde het netjes/kort te houden, maar daardoor toch wat awkward keuzes gemaakt :/

[ Voor 7% gewijzigd door Diderikdm op 08-12-2022 14:23 ]


Acties:
  • 0 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 16-05 11:22

ElkeBxl

Tassendraagster

Topicstarter
Dag 2 in Rust
Echt zo'n dag waar ik dacht "dit schrijf ik gewoon volledig uit in plaats van iets kort te zoeken".

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!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Dag 2 - Java

spoiler:
Switch expressions ftw :D

Ik ben wel benieuwd hoe snel dit is met een grote dataset, in theorie zou dit vanwege de Stream en Switches heel snel moeten zijn zonder grote memory impact.

Hooguit dat ik dan met een longstream moet werken ipv een intstream.

Acties:
  • 0 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
ElkeBxl schreef op vrijdag 2 december 2022 @ 09:02:
Dag 2 in Rust
Echt zo'n dag waar ik dacht "dit schrijf ik gewoon volledig uit in plaats van iets kort te zoeken".
Holy shit, en ik vond mijn code al verbose :P

Acties:
  • 0 Henk 'm!

  • ElkeBxl
  • Registratie: Oktober 2014
  • Laatst online: 16-05 11:22

ElkeBxl

Tassendraagster

Topicstarter
Remcoder schreef op vrijdag 2 december 2022 @ 09:03:
[...]

Holy shit, en ik vond mijn code al verbose :P
Ik ben echt zo iemand die liever 50 lijnen teveel schrijft 's ochtends om dan misschien 's avonds nog wat te verkleinen. Net naar jouw code gekeken, geeft me direct wat inspiratie om het in te korten. Maar eerst de werkdag doen vandaag :+

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!

  • FrankMennink
  • Registratie: Mei 2011
  • Laatst online: 13-04 11:34
Dag 2 in Python

Ochtend brein telde eerst +3 voor een win, goed lezen is een ding

Acties:
  • +1 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 22:59
Ik ben maar eens begonnen in R.. loop een dagje achter..

dag 1 is gesneden koek.. voor dit soort zaken is R gewoon gemaakt...
dag1 in R

Acties:
  • +1 Henk 'm!

  • Gilotto
  • Registratie: Juni 2011
  • Laatst online: 07-06 09:42

Gilotto

Paint Skillz

Zo, gisteren een deadline, dus vandaag gestart. (F#)

dag1

dag2

Tot nu toe gaat het prima :)

spoiler:
Ik telde de keuze van de tegenstander op :P

Acties:
  • 0 Henk 'm!

  • Mschamp
  • Registratie: April 2014
  • Laatst online: 21:47
Ook ik ga dit jaar terug mee proberen doen in C#.

Dag 1 was redelijk kort:
Dag 2 waarschijnlijk veel te lang.

Acties:
  • 0 Henk 'm!

  • Eupeodes
  • Registratie: November 2011
  • Laatst online: 21:41
Ik heb gekozen voor php (omdat ik daar nog altijd het meest vloeiend in ben, en zoveel komt php niet voor in de deelnemerslijst in dit topic).

Heb mijn scriptje ook maar eens losgelaten op die 500MB, mocht zowat een seconde per MB kosten (met name het lezen van de file duurde lang) maar na 487 seconden komt het resultaat overeen met de spoiler van @Diderikdm.

Edit: code herschreven, nu is het nog 'maar' 41 seconden.

[ Voor 18% gewijzigd door Eupeodes op 02-12-2022 11:46 ]


Acties:
  • +1 Henk 'm!

  • Remcoder
  • Registratie: November 2004
  • Laatst online: 10-06 15:08
Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***


@P_Tingen ^
6 seconden voor deel 1, en 8 seconden voor deel 2.

Een .parallel() op de stream zorgt ervoor dat er in beide gevallen 1-2 seconden af gesnoept wordt.

Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 22:59
en dag 2 in R
simpel als je werkt met een lookup-table en een paar joins.. dan is het gewoon een kwestie van alle opties (3*2=6) uitwerken en sommeren.

Acties:
  • +2 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 22:59
Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***


@P_Tingen ^
in R, met deze code
op een 10 jaar oude i5 met 16 Gb geheugen
  • inlezen data: 0.92 seconden
  • part 1: 3.25 seconden
  • part 2: 8.25 seconden

Acties:
  • +1 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-06 14:24

Janoz

Moderator Devschuur®

!litemod

Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***


@P_Tingen ^
Ik draai hier 1 en 2 in 3 sec, maar ik vermoed dat het vooral IO bound is. Deel 1 los draaien gaat in 2.8 sec en deel 2 inderdaad in 3 sec.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Miguel
  • Registratie: Februari 2007
  • Laatst online: 12-06 16:02
Eerste jaar dat ik meedoe met de AoC, in C# .
Swedish Clown schreef op donderdag 1 december 2022 @ 09:39:
*O* Bonus challenge for those that accept :9B


***members only***


@P_Tingen ^
https://github.com/miguel...de-2022/blob/main/Day1.cs

ReadFile = 00:00:05.9853277
Puzzle (1&2 samen) = 00:00:01.3367017

Acties:
  • +1 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 19:20
MrHaas schreef op donderdag 1 december 2022 @ 17:39:
M'n quick-and-dirty versie in C doet 1.4s over de "grote" file:
[Afbeelding]

Geen idee wat voor trucjes er nog zijn om IO/parsing te optimalizeren, maar er kan vast nog wat van af.

/edit: zat nog typo in de CFLAGS en een eigen implementatie van `atoi` brengen 'm net onder de seconde:
[Afbeelding]
Het is inderdaad voornamelijk een parse probleem. Ik krijg 'm in ongeveer 440 ms (01a.c) door byte-voor-byte te parsen, of ongeveer 400 ms onder de aanname dat een regel nooit met 0 begint (01c.c).

Ik heb ook nog geprobeerd te memory mappen (met het idee dat het sneller zou zijn omdat er geen bytes van kernel space naar userspace gekopieerd hoeven worden) maar dat was interessant genoeg trager dan de portable variant met fread() (01b.c).

Overigens zit er in jouw implementatie nog een kleine bug: je verwerkt het laatste blok niet in je top 3, tenzij de invoer eindigt met een extra lege regel, wat voor de officiële testdata niet het geval is.

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 25-04 18:21
Leuk om allemaal weer te zien. Helaas heb ik dit jaar echt geen tijd. Die eersten gaan allemaal wel maar vanaf dag 15 ofzo wordt het heftig en dan weet ik al dat ik me vastbijt.

Altijd leuk om m’n oplossingen in Kotlin met die van @Hydra te vergelijken.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 05-06 10:49

Varienaja

Wie dit leest is gek.

Dag 2 in Java.

Als ik andere oplossingen bekijk dan krijg ik het gevoel dat ik nog niet genoeg abstraheer.

Siditamentis astuentis pactum.


Acties:
  • +1 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 13-06 14:12

P_Tingen

omdat het KAN

Dag 2 zat ik eerst op vast en kon maar niet bedenken waarop. Input gecontroleerd, alles tien keer bekeken....

... Om dan bij de elfde keer te zien dat ik niet mijn eigen zet punten gaf, maar die van de tegenstander. Doh!

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

meeste tijd zat hem nog om de lookup tables voor de score/keuze te maken. Hoofd deed ook wel pijn omdat het in het Engels Rock Paper Scissors is en wij het Schaar steen papier noemen
https://gitlab.com/NetTin...-/blob/main/day2/task1.py

[ Voor 69% gewijzigd door TrailBlazer op 02-12-2022 13:30 ]


Acties:
  • +1 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Leuke dag :) Begrijpend lezen is een kunst...

Day2 in Erlang

Kan vast nog korter maar de boel draait in 259 us totaal dus vind het wel prima zo :-) Pattern matching FTW! *O*

Credits naar een collega, mocht iemand een input van 100M willen proberen :-)

Total: 22.518 ms
File read: 13.465 ms :'(

Python:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/python3
import random
abc = ['A','B','C']
xyz = ['X','Y','Z']
seed = 939482
random.seed(seed)

for i in range(100_000_000):
    first = random.randrange(3)
    second = random.randrange(3)
    print(abc[first] + " "+ xyz[second])

Always looking for developers wanting to work with Erlang.


Acties:
  • 0 Henk 'm!

  • keeperson
  • Registratie: Oktober 2010
  • Laatst online: 13-06 07:43
Dag 1 net afgerond in Kotlin. Code even getimed en hij doet het in 28 ms ongeveer wat ik toch best aardig vind zonder warm up.

spoiler:
Ik liep tegen een raar probleem aan Scanner(System.`in`) de regels met enkel newlines van de file niet meeneemt (\n op Windows in plaats van \r\n). Als iemand daar een goede pointer voor heeft wat daar gebeurt zou het fijn zijn :9. Kan ook zijn dat 'ie ze opvreet omdat ik nooit scanner.nextLine() doe maar het direct omzet in een Iterator.

Acties:
  • +1 Henk 'm!

  • MrHaas
  • Registratie: Maart 2009
  • Laatst online: 21:17
Swedish Clown schreef op vrijdag 2 december 2022 @ 13:20:
Credits naar een collega, mocht iemand een input van 100M willen proberen :-)
Afbeeldingslocatie: https://tweakers.net/i/iDjXHnw3KVZh_JeRsuAGHXVZWWk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/n9VHAmkREcL9KMZZ9ukkHi4W.png?f=user_large

Thanks to the buffer techniek die @Soultaker me geleerd heeft ;)

Acties:
  • +4 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 19:20
Dag 2 in Brainfuck (minder obfuscated versie hier). Doet de officiële testdata in ongeveer 1.5ms per deel :P

Brainfuck:
1
2
3
4
>,[-<++++++++[->--------<]>>,,>++++++++[<----------->-]<<[->+++<]>>++++<[->++++<
[->-----<[->--<[->++++<[->++++<[->--<[->-----<[->++++<]]]]]]]]>[>>[-]+<<[->+<]>[
<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[>>+<<-<[-]>[<+>-]]]]]]]]]]]<[->+<]>
>>]<[<<<]<,[-],]>>>>[>>>]<<<[+++++[<++++++++>-]<.<<]++++++++++.


Brainfuck:
1
2
3
4
>,[-<++++++++[->--------<]>>,,>++++++++[<----------->-]<<[->+++<]>>+++<[->+<[->+
+++<[->-------<[->++++<[->++++<[->-------<[->++++<[->+<]]]]]]]]>[>>[-]+<<[->+<]>
[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[<+>-[>>+<<-<[-]>[<+>-]]]]]]]]]]]<[->+<]
>>>]<[<<<]<,[-],]>>>>[>>>]<<<[+++++[<++++++++>-]<.<<]++++++++++.

Acties:
  • +4 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-06 14:24

Janoz

Moderator Devschuur®

!litemod

Niet om het af te zwakken, maar de humongous sets worden eigenlijk pas echt interessant over een dikke week ofzo. Met deze relatief simpele problemen meet je meer je platform dan je algoritme imho.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Janoz schreef op vrijdag 2 december 2022 @ 15:17:
Niet om het af te zwakken, maar de humongous sets worden eigenlijk pas echt interessant over een dikke week ofzo. Met deze relatief simpele problemen meet je meer je platform dan je algoritme imho.
Klopt helemaal d:)b Maar toch zie je verschillen in het algoritme :-) Zo hebben een collega en ik allebei dezelfde laptop, gebruiken we beide Erlang maar toch zien we verschillen tussen onze oplossingen die duidelijk worden met een humongous input :)

Edit: Om m'n punt dan maar even duidelijk te maken :P
Originele oplossing: 22 seconden
Nieuwe oplossing: 2.5 seconden :+
Diff: day02 optimized

[ Voor 22% gewijzigd door Swedish Clown op 02-12-2022 15:58 ]

Always looking for developers wanting to work with Erlang.


Acties:
  • 0 Henk 'm!

  • Wraldpyk
  • Registratie: Februari 2008
  • Laatst online: 11-05 17:43
Dag 2 in JavaScript. Executie ongeveer 3-5ms voor de gehele dag:

https://github.com/Topene...blob/2022/day2/program.js

Mijn doel is sowieso goed leesbare code, ik ga niet voor snelheid

[ Voor 20% gewijzigd door Wraldpyk op 02-12-2022 17:05 . Reden: toevoeging ]


Acties:
  • 0 Henk 'm!

  • Beneveerg
  • Registratie: Augustus 2011
  • Laatst online: 12-06 15:41
Dag Twee deel 1 eindelijk gelukt. Ik heb daar even voor moeten zoeken hoe je dit kon doen. De oplossing die ik heb voor deel 1 kan ik niet gebruiken voor deel 2. Dus daar maar een andere oplossing voor vezinnen

spoiler:
Ik zette al mijn XYZ om naar ABC, dat kan in dag 2 niet meer


edit

Bijna volledig herschreven met een onderdeel van Python dat ik nog niet eerder heb gebruikt

spoiler:
Hij kijkt nu in een dictionary of wat de keuze moet zijn op basis van winst of verlies

[ Voor 26% gewijzigd door Beneveerg op 02-12-2022 17:40 ]

Het leven is te kort om te testen


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

Beneveerg schreef op vrijdag 2 december 2022 @ 16:38:
Dag Twee deel 1 eindelijk gelukt. Ik heb daar even voor moeten zoeken hoe je dit kon doen. De oplossing die ik heb voor deel 1 kan ik niet gebruiken voor deel 2. Dus daar maar een andere oplossing voor vezinnen

spoiler:
Ik zette al mijn XYZ om naar ABC, dat kan in dag 2 niet meer


edit

Bijna volledig herschreven met een onderdeel van Python dat ik nog niet eerder heb gebruikt

spoiler:
Hij kijkt nu in een dictionary of wat de keuze moet zijn op basis van winst of verlies
Als je de code ergens deelt wil ik wel even kijken wat je misschien anders had kunnen doen.

Acties:
  • 0 Henk 'm!

  • Beneveerg
  • Registratie: Augustus 2011
  • Laatst online: 12-06 15:41
TrailBlazer schreef op vrijdag 2 december 2022 @ 17:43:
[...]

Als je de code ergens deelt wil ik wel even kijken wat je misschien anders had kunnen doen.
Tuurlijk:
Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Het leven is te kort om te testen


Acties:
  • 0 Henk 'm!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 04-06 09:31

TrailBlazer

Karnemelk FTW

Beneveerg schreef op vrijdag 2 december 2022 @ 17:47:
[...]


Tuurlijk:

***members only***
Je doet niet zo heel veel anders dan ik. Ik maak een tweetal lookup tables. Eentje voor de scores en een voor wat ik er gekozen moet worden om een bepaald resultaat te krijgen. Deze keuze gebruik ik dan weer om de score uit de lookup tables te halen.
https://gitlab.com/NetTin...-/blob/main/day2/task1.py

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13-06 11:55

Creepy

Tactical Espionage Splatterer

En ook dag 2 weer gedaan. Deel 1 5ms en deel 2 2ms inclusief lezen input.
spoiler:
Moves omrekenen naar 0-2 mbv wat ascii logica en gaan. Moet eigenlijk deel 1 een grote switch nog omrekenen zodat het bereken van winst of verlies nog wat compacter kan, maar meh, geen zin :P

https://github.com/CodeEn...er/aoc/aoc2022/Day02.java

"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!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-06 14:24

Janoz

Moderator Devschuur®

!litemod

Voor de vingeroefening ook nog even effectief 2 regels in java.

spoiler:
Er zijn toch maar 3x3 = 9 mogelijkheden dus die tabelletjes zijn zo gemaakt

[code=java]
static final int[] p1 = new int[] {4, 1, 7, 8, 5, 2, 3, 9, 6};
static final int[] p2 = new int[] {3, 1, 2, 4, 5, 6, 8, 9, 7};
[/code]

Vervolgens kun je met wat lambda shizzle alles in 1 regel klaar krijgen waarbij het grootste deel nog het inlezen is (vooral omdat ik het van het classpath haal)

[code=java]
System.out.println(
Files.lines(Paths.get(Objects.requireNonNull(Day2Lazy.class.getResource(file)).toURI()))
.mapToInt(s -> p1[(s.charAt(0)-'A') + 3 * (s.charAt(2) - 'X')]).sum());
[/code]

Voor deel 1 p1 gebruiken en voor deel 2 p2 :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Marcj
  • Registratie: November 2000
  • Laatst online: 18:44
https://github.com/marcde...ejonge/advent2022/Day2.kt

Ik ben ook maar weer aan de slag gegaan. Ik probeer vooral code te maken die begrijpelijk is, maar jullie moeten maar beoordelen of dit gelukt is.

Acties:
  • 0 Henk 'm!

  • MatHack
  • Registratie: Oktober 2001
  • Niet online

MatHack

Dev by day, Gamer by night

Marcj schreef op vrijdag 2 december 2022 @ 18:16:
https://github.com/marcde...ejonge/advent2022/Day2.kt

Ik ben ook maar weer aan de slag gegaan. Ik probeer vooral code te maken die begrijpelijk is, maar jullie moeten maar beoordelen of dit gelukt is.
Ik zou met alle liefde willen kijken, maar volgens mij staat je repo private :+

There's no place like 127.0.0.1

Pagina: 1 2 ... 12 Laatste