Advent of Code 2015 Overzicht Volgende deel Laatste deel

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

Pagina: 1 2 3 Laatste
Acties:

  • CyberJack
  • Registratie: Augustus 2002
  • Laatst online: 03-09 14:36
Ik ben ook maar eens begonnen en inmiddels heb ik de eerste 3 4 dagen af.
Momenteel schrijf ik alles in PHP, maar misschien dat ik ze ook nog in een andere taal ga maken (wil toch nog eens met Python aan de slag).

Geen idee hoe ver ik ga komen, maar mijn oplossingen staan op mijn github.

https://bottenberg.dev


  • Devilly
  • Registratie: Januari 2009
  • Niet online
Ik was ook begonnen en wel in Haxe. Tijdens de opgaven van de eerste dag stuitte ik op een compilerdingetje wat ik nog steeds niet snap.

Voor de volgende opdrachten zal ik in Haxe verdergaan, want die taal is sinds recent mijn goto hobbytaal. :)

  • Niekfct
  • Registratie: Maart 2008
  • Laatst online: 31-08 18:56
Oef, ik ben in de valkuil getrapt om in de JVM twee strings te concatenaten ipv een StringBuilder te gebruiken. Ga ik van (geschat) 3 uur naar 1 seconde |:(

Dear Sir/Madam, Fire! Fire! Help me! Looking forward to hearing from you.


  • Jeroen Sack
  • Registratie: Juni 2004
  • Laatst online: 12-09 17:51
Niekfct schreef op donderdag 10 december 2015 @ 13:02:
Oef, ik ben in de valkuil getrapt om in de JVM twee strings te concatenaten ipv een StringBuilder te gebruiken. Ga ik van (geschat) 3 uur naar 1 seconde |:(
Dat had ik ook alleen dan met sprintf in plaats van memcpy in C, had niet verwacht dat de strings zo groot zouden worden, maar ik had ook niet gezien dat je lengte moest opsturen in plaats van het getal, als ik dat wist had ik het wel kunnen weten aangezien ze meestal vragen om een redelijk korte input en geen string van zoveel tekens.

  • Nilltris
  • Registratie: Mei 2011
  • Laatst online: 14-06-2023
Ik ben er ook mee bezig. Op dit moment 4-2 aan het uit laten rekenen. Ik doe het in C# (Console application). 3 vond ik erg leuk om te doen :D

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Niekfct schreef op donderdag 10 december 2015 @ 13:02:
Oef, ik ben in de valkuil getrapt om in de JVM twee strings te concatenaten ipv een StringBuilder te gebruiken. Ga ik van (geschat) 3 uur naar 1 seconde |:(
Wow scheelt dat zoveel. Ik gebruik String.Concat in C# maar 50 duurt enorm lang.

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Niekfct schreef op donderdag 10 december 2015 @ 13:02:
Oef, ik ben in de valkuil getrapt om in de JVM twee strings te concatenaten ipv een StringBuilder te gebruiken. Ga ik van (geschat) 3 uur naar 1 seconde |:(
Kun je de voor / na situatie laten zien? Puur interesse.

https://niels.nu


  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 14-09 23:17

Pizzalucht

Snotneus.

Megamind schreef op donderdag 10 december 2015 @ 17:47:
[...]

Wow scheelt dat zoveel. Ik gebruik String.Concat in C# maar 50 duurt enorm lang.
In Go duurde 50 zo lang dat ik hem ook maar ben gaan herschrijven :+ (mijn geduld is na 1 minuut wel op) Gebruikte eerst ook concat.
Hydra schreef op donderdag 10 december 2015 @ 18:19:
[...]


Kun je de voor / na situatie laten zien? Puur interesse.
In Go:
Resultaat met een string array:
Part 1: The length of the resulting string is 492982, the array calculation took 413.338139ms

Resultaat met een string concat:
Part 1: The length of the resulting string is 492982, the concat calculation took 30.918618495s

En dat is pas de 40 passes.

De 50 passes:
Resultaat met een string array:
Part 2: The length of the resulting string is 6989950, the array calculation took 6.301855518s

Resultaat met een string concat:
Part 2: The length of the resulting string is 6989950, the concat calculation took 1h33m5.249396374s

[ Voor 56% gewijzigd door Pizzalucht op 10-12-2015 20:35 ]


  • Ghehe
  • Registratie: April 2011
  • Laatst online: 12-09 15:58

Ghehe

400 pound hacker

Dag 10 was idd wel heel makkelijk, mijn luie oplossing was snel genoeg:
spoiler:
$ echo -n "3113322113" | perl -nE 's/(.)(\1*)/1+length($2).$1/ge while $i++<50;say y///c'

  • guid0o
  • Registratie: November 2008
  • Niet online

guid0o

Living life

Niet fanatiek elke dag een stukje, maar af en toe als ik niks te doen heb probeer ik ook mee te doen.

Lekker een beetje met scala spelen en proberen om het een beetje handig te doen. Want kom er vaak genoeg weer achter dat als ik iets probeer te maken, het al in de taal zelf zit :P

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Wow dag 9 was wel erg leuk! Wel trots op mijn oplossing!
Leuk tijdverdrijf dit!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
Ik doe het zeker niet zo snel als sommigen, maar tot nog toe kom ik er prima uit. Heb net dag 6 gedaan. Voordeel van deze 'challenge' is dat het ook allemaal redelijk behapbaar is en afgebakend, dat maakt het uitermate geschikt om even tussendoor te doen.

Over de leesbaarheid valt te twisten, maar ik vind het leuk om zoveel mogelijk in LINQ te proppen, zoals bij 06.02.

Mother north, how can they sleep while their beds are burning?


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Woy schreef op donderdag 10 december 2015 @ 09:56:
[...]

Ja inderdaad, het tweede deel was ook weinig creatief.
Zeg dat ja, "meer" van hetzelfde...

"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


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Pizzalucht schreef op donderdag 10 december 2015 @ 18:23:
In Go duurde 50 zo lang dat ik hem ook maar ben gaan herschrijven :+ (mijn geduld is na 1 minuut wel op) Gebruikte eerst ook concat.
Heb je het ook met append geprobeerd? Dat is de officiële manier om slices te concatenaten.
Creepy schreef op donderdag 10 december 2015 @ 21:46:
Zeg dat ja, "meer" van hetzelfde...
Blijkbaar was deel 2 wel lastig als je voor het eerste deel een Shlemiel the Painter algoritme geïmplementeerd had. Dat lijkt wel voor veel mensen hier te gelden. Wees maar trots dat je zelf in één keer de goede oplossing geïmplementeerd had. ;)

[ Voor 40% gewijzigd door Soultaker op 10-12-2015 21:59 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

En het snelheids verschil in Java met concatenation of een StringBuilder is enorm ja.

Op mijn system deel 2 onder de 150ms met een StringBuilder. En met een string concatenation zit ik na 14 seconden op iteratie 16 en na 54 seconden op iteratie 17. Ik had niet het geduld om te wachten tot 50.
Soultaker schreef op donderdag 10 december 2015 @ 21:49:
Blijkbaar was deel 2 wel lastig als je voor het eerste deel een Shlemiel the Painter algoritme geïmplementeerd had. Dat lijkt wel voor veer mensen hier te gelden. Wees maar trots dat je zelf in één keer de goede oplossing geïmplementeerd had. ;)
Dan kost part 1 zelfs al een hele hoop tijd :P

[ Voor 44% gewijzigd door Creepy op 10-12-2015 23:08 ]

"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


  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 14-09 23:17

Pizzalucht

Snotneus.

Soultaker schreef op donderdag 10 december 2015 @ 21:49:
[...]

Heb je het ook met append geprobeerd? Dat is de officiële manier om slices te concatenaten.


[...]

Blijkbaar was deel 2 wel lastig als je voor het eerste deel een Shlemiel the Painter algoritme geïmplementeerd had. Dat lijkt wel voor veel mensen hier te gelden. Wees maar trots dat je zelf in één keer de goede oplossing geïmplementeerd had. ;)
Dat is inderdaad wat ik in mijn rewrite heb gebruikt. Een string is echter geen slice (je kan hem wel als slice benaderen, tekst[1:], maar je kan er geen append op doen).
Heb er nu een []string (had op zich ook wel een []rune kunnen zijn) van gemaakt waarbij elke letter een string in de array is, daarop doe ik dan een append. Dan is het redelijk snel. Zie bovenstaande stats.

  • Zombaya
  • Registratie: April 2012
  • Laatst online: 25-08 23:13
Down schreef op woensdag 09 december 2015 @ 13:50:
Heeft iemand day 4 part 2 nog multithreaded opgelost?
Ik heb ook een poging gedaan om dit via een parallelle operatie te doen en ik kwam uit op een besparing van ongeveer 65%.

Dit zijn ook mijn eerste stapjes in C# dus er is veel googlen en lelijke code bij. :)

[ Voor 4% gewijzigd door Zombaya op 10-12-2015 23:32 . Reden: Altijd juiste url bijgezet ]

Zombaya


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Topicstarter
(overleden)
Zombaya schreef op donderdag 10 december 2015 @ 23:29:
[...]


Ik heb ook een poging gedaan om dit via een parallelle operatie te doen en ik kwam uit op een besparing van ongeveer 65%.
...met daarbij wel 't risico dat je de éérste mistte en de eerst gevonden returnede ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Zombaya
  • Registratie: April 2012
  • Laatst online: 25-08 23:13
Ik heb het nog eens nagekeken, maar volgens mij zou hij elke match moeten weergeven, maar gewoon stoppen nadat hij minstens één match gevonden heeft in een batchopdracht.

De functie geeft enkel terug of hij een match heeft gevonden, resultaten print ik direct.

Of ik versta je verkeerd en je bedoelt dat er ergens anders een fout zit, kan ook.

[ Voor 1% gewijzigd door Zombaya op 11-12-2015 00:35 . Reden: verduidelijking ]

Zombaya


Acties:
  • 0 Henk 'm!

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

Vandaag vond ik wel weer leuk, weer niet echt moeilijk maar wel leuk om te doen. Alleen jammer van deel 2...

Acties:
  • 0 Henk 'm!

  • Belindo
  • Registratie: December 2012
  • Laatst online: 19:20

Belindo

▶ ─🔘─────── 15:02

Ik ben vandaag begonnen met de eerste, die was vrij snel opgelost. Ben geen die-hard programmeur, maar wel redelijk in PHP. In deze taal zal ik ook proberen m'n oplossingen te doen :)

Coding in the cold; <brrrrr />


Acties:
  • 0 Henk 'm!

  • Niekfct
  • Registratie: Maart 2008
  • Laatst online: 31-08 18:56
Hydra schreef op donderdag 10 december 2015 @ 18:19:
[...]


Kun je de voor / na situatie laten zien? Puur interesse.
Zal iets in de trend zijn van (pseudo) :

code:
1
2
3
4
5
6
7
8
9
10
11
String current = "1113122113";
String n = "";
for (i in 1..40 ) {
  for(c : current) {
    String s = lookAndSay(c); // Where the magic happens, returned bijv "23" voor "2 times 3"
    n += s;
  }

  current = n;
  n = "";
}


Naar:

code:
1
2
3
4
5
6
7
8
9
10
11
String current = "1113122113";
StringBuilder n = new StringBuilder();
for (i in 1..40 ) {
  for(c : current) {
    String s = lookAndSay(c);
    n.append(s);
  }

  current = n.toString();
  n = new StringBuilder();
}


Iets in die richting.
De 40 iteratie versie gaat van 26 seconden naar 150 milliseconden.

Dear Sir/Madam, Fire! Fire! Help me! Looking forward to hearing from you.


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
emnich schreef op vrijdag 11 december 2015 @ 09:47:
Vandaag vond ik wel weer leuk, weer niet echt moeilijk maar wel leuk om te doen. Alleen jammer van deel 2...
Ja, ik had minstens nog wat andere security rules verwacht.

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

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

Woy schreef op vrijdag 11 december 2015 @ 11:49:
[...]

Ja, ik had minstens nog wat andere security rules verwacht.
Inderdaad nog wat extra regels of op z'n minst de andere kant op. Nu was deel 2 alleen lastig voor mensen die het met de hand deden ;)

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Heh, ik heb er niet eens aan gedacht om het met de hand te doen. Was waarschijnlijk nog sneller geweest ook.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Haha, ja eigenlijk is het vrij eenvoudig om het uit je hoofd te doen ja.

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

  • CyberJack
  • Registratie: Augustus 2002
  • Laatst online: 03-09 14:36
Zo, de opdrachten voor dag 5 zijn klaar.

Ik betrap mezelf er wel op dat ik vaak te moeilijk probeer te denken.
Dag 5 heb ik uiteindelijk met een simple regexes opgelost.

Vanavond/morgen eens naar de opdracht voor dag 6 gaan kijken. :)

https://bottenberg.dev


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
Dag 7 opgelost. Toch nog wel wat tijd in gestoken. Meteen maar de kans aangegrepen om gebruik te maken van
spoiler:
expressions
in C#. Dat in combinatie met
spoiler:
recursie
maakt deze al iets lastiger dan de voorgaande opdrachten imho :p. Het zijn typisch dingen die ik in het dagelijks werk niet of nauwelijks gebruik, maar dat maakt het ook wel weer leuk.

[ Voor 19% gewijzigd door Down op 11-12-2015 19:24 ]

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Joep
  • Registratie: December 2005
  • Laatst online: 15:11
Gisteren ook begonnen met VBA :+ Misschien dat ik de opdrachten ook in PHP, C#/C ga uitvoeren.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

En dag 11 af.. Ik had al rekening gehouden met een eventuele instinker voor deel 2, komt die niet....
spoiler:
Ik had een overflow verwacht van zzzzzzzz naar aaaaaaaaa...

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

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
momania schreef op zondag 06 december 2015 @ 19:07:
Mijn code ook maar even op github gezet: https://github.com/momania/adventofcode

Opdracht 5, tweede deel doet nog niet wat ik wil, maar ik wil het niet met een regex doen :p
Ik heb het gedaan met Linq in C#, maar om nou te zeggen dat het nou zo leesbaar is. :P

Wel leuk om uit te werken.

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • MerijnB
  • Registratie: Oktober 2000
  • Laatst online: 22:06
Down schreef op vrijdag 11 december 2015 @ 22:28:
[...]


Ik heb het gedaan met Linq in C#, maar om nou te zeggen dat het nou zo leesbaar is. :P

Wel leuk om uit te werken.
Linq is leuk en mooi, maar meestal niet zo best voor de leesbaarheid.

A software developer is someone who looks both left and right when crossing a one-way street.


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Creepy schreef op vrijdag 11 december 2015 @ 21:44:
En dag 11 af.. Ik had al rekening gehouden met een eventuele instinker voor deel 2, komt die niet....
spoiler:
Ik had een overflow verwacht van zzzzzzzz naar aaaaaaaaa...
Dat is in mijn code helemaal niet echt een special case eigenlijk, en had dus ook prima gewerkt.

“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®
Vandaag was opdracht 2 wel een leuke toevoeging waardoor ik voor de tweede oplossing een compleet andere manier gebruikt heb dan voor de eerste.

Als ik een JSON parser gebruikt had was het wat eenvoudiger geweest, maar zelf parsen is natuurlijk leuker om te doen.

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

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Ik ben ook maar eens begonnen dit weekend. Ik zit alleen nu vast bij dag 12 opdracht 2.

Mijn algoritme bij 12 - 2:
spoiler:
- Ik zoek naar de tekst "red"
- Ik zoek de grenzen van het object of array op waarbij ik rekening houd met nesting.
- Als het een object is sla ik de begin- en eind-indices op; dit zijn er 60
- Ik filter de kleine objectjes eruit die in een grotere met "red" vallen; er blijven er 50 over
- Ik vervang die objecten door een lege string ""
- Ik gebruik het sommatie-algoritme van het eerste deel (gaf daar het goede antwoord)
- Mijn uitkomst is 71473 en dat is dus fout :'( is nu goed. Ik sprong te ver nadat ik "red" gevonden had en de volgende iteratie moest doen.

[ Voor 9% gewijzigd door Daos op 12-12-2015 15:38 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Woy schreef op zaterdag 12 december 2015 @ 13:59:
Vandaag was opdracht 2 wel een leuke toevoeging waardoor ik voor de tweede oplossing een compleet andere manier gebruikt heb dan voor de eerste.

Als ik een JSON parser gebruikt had was het wat eenvoudiger geweest, maar zelf parsen is natuurlijk leuker om te doen.
Een regex is voldoende voor 2. Ik zag zelfs iemand die een vim commando gebruikte :+

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Voor deel 2 ook? Voor deel 1 had ik ook een regex gebruikt, maar voor deel 2 lijkt echt parsen me noodzakelijk, ook omdat JSON geen reguliere taal is, en dus niet met een regex geparset kan worden.

spoiler:
print sum(map(int, re.findall('-?[0-9]+', sys.stdin.read())))

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Megamind schreef op zaterdag 12 december 2015 @ 15:35:
[...]

Een regex is voldoende voor 2. Ik zag zelfs iemand die een vim commando gebruikte :+
Dan ben ik wel benieuwd hoe je deel 2 oplost met regex. Deel 1 heb ik inderdaad ook gewoon i.c.m. een regex gedaan, maar bij deel 2 zou ik zo snel geen oplossing weten te bedenken.

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

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Dag 11 af. Ik vond m wel moeilijk. Veels te veel code gebruikt, voor wat volgens mij veel makkelijker kan. Ik ga maar even andere solutions bekijken :)

Kwam ook een mooie oplossing in Ruby tegen voor dag 10 die gebruikt maakt van de chunk{} operator. Die kende ik nog niet en die groepeert op opeenvolgende matches. Wordt de oplossing wel heel clean van!

[ Voor 48% gewijzigd door - peter - op 12-12-2015 18:27 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Woy schreef op zaterdag 12 december 2015 @ 17:14:
[...]

Dan ben ik wel benieuwd hoe je deel 2 oplost met regex. Deel 1 heb ik inderdaad ook gewoon i.c.m. een regex gedaan, maar bij deel 2 zou ik zo snel geen oplossing weten te bedenken.
Ik heb mijn code niet bewaard maar zoiets werkt bij mij:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private static Regex Number = new Regex("-?\\d+", RegexOptions.Compiled);
private static Regex Brackets = new Regex("\\[[^[{\\]}]*\\]", RegexOptions.Compiled);
private static Regex Braces = new Regex("\\{[^[{\\]}]*\\}", RegexOptions.Compiled);

private static int Day12Part2(string input)
{
    bool didsomething;
    do
    {
        didsomething = false;
        string temp = Brackets.Replace(input, SumObject);
        if (temp != input)
        {
            didsomething = true;
            input = temp;
        }
        temp = Braces.Replace(input, SumBraces);
        if (temp != input)
        {
            didsomething = true;
            input = temp;
        }
    } while (didsomething);
    return Day12(input);
}

private static int Day12(string input) => 
    Number.Matches(input).Cast<Match>().Select(m1 => int.Parse(m1.Value)).Sum();
private static string SumBraces(Match m) => m.Value.Contains("red") ? "0" : SumObject(m);
private static string SumObject(Match m) => Day12(m.Value).ToString();

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Megamind schreef op zaterdag 12 december 2015 @ 18:23:
[...]

Ik heb mijn code niet bewaard maar zoiets werkt bij mij:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private static Regex Number = new Regex("-?\\d+", RegexOptions.Compiled);
private static Regex Brackets = new Regex("\\[[^[{\\]}]*\\]", RegexOptions.Compiled);
private static Regex Braces = new Regex("\\{[^[{\\]}]*\\}", RegexOptions.Compiled);

private static int Day12Part2(string input)
{
    bool didsomething;
    do
    {
        didsomething = false;
        string temp = Brackets.Replace(input, SumObject);
        if (temp != input)
        {
            didsomething = true;
            input = temp;
        }
        temp = Braces.Replace(input, SumBraces);
        if (temp != input)
        {
            didsomething = true;
            input = temp;
        }
    } while (didsomething);
    return Day12(input);
}

private static int Day12(string input) => 
    Number.Matches(input).Cast<Match>().Select(m1 => int.Parse(m1.Value)).Sum();
private static string SumBraces(Match m) => m.Value.Contains("red") ? "0" : SumObject(m);
private static string SumObject(Match m) => Day12(m.Value).ToString();
Ok, maar dit is natuurlijk niet echt een pure Regex oplossing. Je bent hier gewoon inside out aan het parsen, waarbij je regexen gebruikt om deelstukken te matchen.

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

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Dat is waar ja, ik heb het eerst met JSON.net geprobeerd maar dat was niet meer leuk na een half uur.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Ik heb een JSON parser gepakt. Als deel 1 dan werkt, dan is deel 2 heel erg makkelijk.

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

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Megamind schreef op zaterdag 12 december 2015 @ 18:23:

Ik heb mijn code niet bewaard maar zoiets werkt bij mij:
code:
1
8<
Ah, da's wel een creatieve oplossing ja. (Je moet wel meerdere keren over de invoer heen, maar het is allicht makkelijker dan een JSON parser schrijven.)

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Soultaker schreef op zaterdag 12 december 2015 @ 21:32:
[...]

Ah, da's wel een creatieve oplossing ja. (Je moet wel meerdere keren over de invoer heen, maar het is allicht makkelijker dan een JSON parser schrijven.)
Mwah, het hoeft geen volledige parser te zijn, want de set is aardig beperkt. Ik heb het met relatief eenvoudige code gewoon geparsed. (https://github.com/rverst...aster/AdventOfCode/A12.cs)

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

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Mijn algoritme was in theorie simpeler (had ik boven al beschreven): vanuit de "red"s in de input de objecten zoeken waarin dat voorkomt en die vervangen door lege strings en dan het algoritme van deel 1 gebruiken. Praktijk valt tegen: ik heb ruim 140 regels code nodig :X https://github.com/gjscho...b/master/Day12/Program.cs

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Eindelijk plekje op het leaderbord :+ Deze was ook weer niet moeilijk.

Acties:
  • 0 Henk 'm!

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Je kan nu ook private leaderbords aanmaken/joinen.
Weet niet echt of t veel toevoegd, maar heb er een aangemaakt voor tweakers:
code:
1
42329-ef862a1b

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Megamind schreef op zondag 13 december 2015 @ 06:22:
Eindelijk plekje op het leaderbord :+ Deze was ook weer niet moeilijk.
Wel knap! Welke taal gebruik je?

Ik ben er zelf een uurtje mee bezig geweest in C#.

[ Voor 14% gewijzigd door Daos op 13-12-2015 13:27 ]


Acties:
  • 0 Henk 'm!

  • 3ssen
  • Registratie: Augustus 2005
  • Laatst online: 18:48
- peter - schreef op zondag 13 december 2015 @ 13:09:
Je kan nu ook private leaderbords aanmaken/joinen.
Weet niet echt of t veel toevoegd, maar heb er een aangemaakt voor tweakers:
code:
1
42329-ef862a1b
Toch maar wat meer opgaven gaan maken. Heb nu pas 5 dagen af.

Acties:
  • 0 Henk 'm!

  • Bee.nl
  • Registratie: November 2002
  • Niet online

Bee.nl

zoemt

Ik doe ook al mee sinds het begin. Alles geschreven in php. Zie mijn github.

Opdracht 13 is inderdaad niet heel lastig. Als je het goed implementeert hoef je nooit meer dan (n-1)!/2 combinaties uit te rekenen. Het is namelijk een circulaire permutatie (n-1)!, waarbij spiegelen hetzelfde resultaat oplevert. Daarom delen door 2. Voor deel 1 maakt dat nog niet veel uit, maar bij deel 2 scheelt het aanzienlijk (~94% minder rekenwerk).

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Leuk voor de zondagmiddag :)

Aangemeld en even bezig, gelijk ook ingeschreven voor het private leaderboard.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Bee.nl schreef op zondag 13 december 2015 @ 15:20:
Daarom delen door 2. Voor deel 1 maakt dat nog niet veel uit, maar bij deel 2 scheelt het aanzienlijk (~94% minder rekenwerk).
Je kunt deel 2 gewoon hetzelfde doen, maar dan zonder wrap-around. Dan is het überhaupt niet meer rekenwerk. edit: Nee, dat is niet waar, want met wrap-around kun je een willekeurig persoon als beginpunt nemen, dus dat scheelt een factor N.

Overigens is het verder ook nog te versimpelen tot iets van O(2n * n) als je wat meer moeite doet. ;)

[ Voor 14% gewijzigd door Soultaker op 13-12-2015 16:54 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Daos schreef op zondag 13 december 2015 @ 13:18:
[...]

Wel knap! Welke taal gebruik je?

Ik ben er zelf een uurtje mee bezig geweest in C#.
C#, en ik had bijna precies hetzelfde. Alle permutaties bepalen en dan gewoon brute forcen.

Acties:
  • +1 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Voor wie dag 13 al af heeft, staat hier een iets grotere invoer: input.txt.

(Stuur mij een DM met je antwoorden om je oplossing te valideren).

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Megamind schreef op zondag 13 december 2015 @ 15:46:
[...]

C#, en ik had bijna precies hetzelfde. Alle permutaties bepalen en dan gewoon brute forcen.
Ik heb hetzelfde gedaan in Java. Gewoon bruteforce, de set is klein genoeg daarvoor.

Als ik me verveel eens kijken of ik de set van Soultaker ook gefixt krijg, maar mezelf vervelen de komende dagen gaat er niet van komen denk ik :P

[ Voor 20% gewijzigd door Creepy op 13-12-2015 17:25 ]

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

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
Dag 9 opgelost. Moest even terugdenken aan het vak algoritmen en datastructuren, kwam al bekend voor als TSP. Was alleen weer even klooien met het recursief bepalen van alle permutaties. Was in eerste instantie vergeten om in de base case een lege lijst terug te geven zodat de voorgaande call geen list had om zichzelf aan toe te voegen. :$

Enfin, 18 sterren! *O* Benieuwd of ik ze allemaal haal.

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Bee.nl
  • Registratie: November 2002
  • Niet online

Bee.nl

zoemt

Soultaker schreef op zondag 13 december 2015 @ 17:12:
Voor wie dag 13 al af heeft, staat hier een iets grotere invoer: input.txt.

(Stuur mij een DM met je antwoorden om je oplossing te valideren).
Leuke challenge, maar dat ga ik natuurlijk niet redden met m'n O(½(n-1)!) algoritme met 60x1015 iteraties :+

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Soultaker schreef op zondag 13 december 2015 @ 17:12:
Voor wie dag 13 al af heeft, staat hier een iets grotere invoer: input.txt.

(Stuur mij een DM met je antwoorden om je oplossing te valideren).
Ik liep al snel op een OutOfMemory exception :+

Acties:
  • 0 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 20:53
Iemand ook al recursie gebruikt om een opdracht op te lossen?

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • koesie10
  • Registratie: Mei 2011
  • Niet online
Puch-Maxi schreef op zondag 13 december 2015 @ 22:50:
Iemand ook al recursie gebruikt om een opdracht op te lossen?
Ik heb recursie gebruikt voor dag 12: Day12.kt

Acties:
  • 0 Henk 'm!

  • veldsla
  • Registratie: April 2000
  • Laatst online: 16:46
Dag 14 is wel heel erg simpel. Wel per ongeluk R code gemaakt, dus als ik me braaf aan mijn voornemen houd dan moet ik de rust port nog even doen. Hoewel, bij 12 ben stiekem ook naar Javascript uitgeweken.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Puch-Maxi schreef op zondag 13 december 2015 @ 22:50:
Iemand ook al recursie gebruikt om een opdracht op te lossen?
Meer dan eens

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

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 20:53
Soms dan denk ik, hmm ik zou hier wel recursie kunnen gebruiken... toch maar niet! :D

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Hmm, adventofcode is down op dit moment. Hopelijk geen data kwijt daar.

Acties:
  • 0 Henk 'm!

  • Devilly
  • Registratie: Januari 2009
  • Niet online
Ik sta nu ook in de OP. :Y Ondertussen ben ik bij dag 7 aanbeland en die vind ik toch wel erg leuk om te doen!

Het dingetje dat ik eerder aankaartte...
Devilly schreef op donderdag 10 december 2015 @ 12:22:
Tijdens de opgaven van de eerste dag stuitte ik op een compilerdingetje wat ik nog steeds niet snap.
...daarvan weet ik nu in ieder geval hoe ik eromheen kan werken en nu ik dit typ, kijk ik nog even in de Google Group waarin ik iets had gepost en zie dat er een reactie is die (met flink wat uitwijdingen) min of meer dezelfde gedachtegang weergeeft als die ik had.

Acties:
  • 0 Henk 'm!

  • Devilly
  • Registratie: Januari 2009
  • Niet online
- peter - schreef op maandag 14 december 2015 @ 17:15:
Hmm, adventofcode is down op dit moment. Hopelijk geen data kwijt daar.
Hij is weer up! Bij mij staat alles nog goed. :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Geen problemen hier, en zojuist Dag 14 ook afgerond. Vrij simpel ja, en dan heb ik het nog om de domme manier gedaan ook ;)

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

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
Day 10 ook weer opgelost.

LinqAndSay :+

C#:
1
2
for (int p = 0, id = 0; p < 40; p++)
text = string.Join("", text.Select((c, i) => new { c, Id = i == text.Length - 1 ? id : c == text[++i] ? id : id++ }).GroupBy(g => g).Select(g => g.Count() + g.Key.c.ToString()));

[ Voor 7% gewijzigd door Down op 15-12-2015 01:27 ]

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Ben weer up to date tot en met Dag 15: https://github.com/nielsu...om/nibado/projects/advent

M'n Scala implementaties zijn up to date tot en met 14-1. Had wat in te halen; het weekend eigenlijk geen tijd gehad.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Daanoz
  • Registratie: Oktober 2007
  • Laatst online: 07-09 19:29
Sinds vandaag ook deelnemer, ik doe alles in JavaScript (tot nu toe)... Ben inmiddels beland bij dag 8, dus heb nog wel wat in te halen.

Code is niet van super kwaliteit, but it does the job... http://codepen.io/collection/XBaNKb/

Acties:
  • 0 Henk 'm!

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Moeilijke vandaag. Kon er maar niet uitkomen hoe je dynamisch de verschillende mogelijkheden genereert.
spoiler:
Uiteindelijk maar gewoon hardcoded 4 nested loops gemaakt. Nog wel iets om uit te zoeken.

[ Voor 4% gewijzigd door - peter - op 15-12-2015 16:04 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Het algemene probleem lijkt me ook erg lastig. Maar je kunt je sowieso
spoiler:
tot drie for-loops beperken: als je drie hoeveelheden hebt bepaald, staat de vierde immers vast aangezien de som 100 moet zijn
.

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
- peter - schreef op dinsdag 15 december 2015 @ 16:03:
Moeilijke vandaag. Kon er maar niet uitkomen hoe je dynamisch de verschillende mogelijkheden genereert.
spoiler:
Uiteindelijk maar gewoon hardcoded 4 nested loops gemaakt. Nog wel iets om uit te zoeken.
Kleine hint:
spoiler:
Met recursie is het vrij simpel: maak een functie die alle combinaties teruggeeft aan de hand van het aantal variabelen en de waarde die verdeeld moet worden. Van buiten roep je hem dan aan met 4 en 100.

Acties:
  • 0 Henk 'm!

  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Daos schreef op dinsdag 15 december 2015 @ 17:13:
[...]


Kleine hint:
spoiler:
Met recursie is het vrij simpel: maak een functie die alle combinaties teruggeeft aan de hand van het aantal variabelen en de waarde die verdeeld moet worden. Van buiten roep je hem dan aan met 4 en 100.
Daar zat ik idd aan te denken ja. Maar vergt nog wel wat probeerwerk ;)

Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
http://www.adventofcode.com/ is hier niet bereikbaar.. Meer mensen met dit probleem (connectie vanuit Canada) .. Ziet eruit als een probleme bij level3.net in Toronto en de site blijkt normaal te werken in Nederland. Pfew O-)

Doe btw al een tijdje mee met deze puzzles. Goede kans om Python te leren. Github: https://github.com/bakx/AdventOfCode

[ Voor 56% gewijzigd door mrFoce op 15-12-2015 19:52 ]


Acties:
  • 0 Henk 'm!

  • Bee.nl
  • Registratie: November 2002
  • Niet online

Bee.nl

zoemt

Dag 15 eindelijk af. Stiekem langer over gedaan dan gedacht, maar ik wilde in ieder geval een recursieve permutatiefunctie. Hopelijk is de volgende opdracht weer eens iets anders dan numeriek.

Acties:
  • 0 Henk 'm!

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21-08 23:06

HMS

Ik ben er ook maar eens mee begonnen, zijn best leuke opdrachten. Tijd om mijn F# wat bij te spijkeren :).

Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
- peter - schreef op zaterdag 12 december 2015 @ 17:58:
Dag 11 af. Ik vond m wel moeilijk. Veels te veel code gebruikt, voor wat volgens mij veel makkelijker kan. Ik ga maar even andere solutions bekijken :)

Kwam ook een mooie oplossing in Ruby tegen voor dag 10 die gebruikt maakt van de chunk{} operator. Die kende ik nog niet en die groepeert op opeenvolgende matches. Wordt de oplossing wel heel clean van!
Die chunk is wel een nuttige functie. Ik doe iets soortgelijks door te groeperen op een id die ik ophoog zodra het huidige item niet gelijk is aan het volgende.

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
De laatste paar dagen zijn niet heel uitdagend. Ik ben meer tijd kwijt aan het parsen van de invoer dan het oplossen zelf.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Day 16 in Java. Deze was simpel; vooral veel tijd kwijt aan parsen en opbouwen van de data set. Wel de tijd genomen om m'n initiele versie van 113 regels naar 83 terug te brengen.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Klaasvaak
  • Registratie: Maart 2010
  • Laatst online: 12-09 21:10
Vandaag was inderdaad niet al te ingewikkeld. Ik heb dag 1 t/m 16 in javascript gedaan. Niet mijn beste werk, maar toch maar online gezet: https://github.com/Perkine/Advent-of-Code

Acties:
  • 0 Henk 'm!

  • veldsla
  • Registratie: April 2000
  • Laatst online: 16:46
Het eerste deel had ik na 1 grep regeltje al te pakken, toch maar even doorgezet en een nette .rs versie gemaakt.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
En ook een Scala versie van mijn Java oplossing.

Enorm opvallend hoe weinig code je nodig hebt in Scala i.v.t. Java om hetzelfde te bereiken. 32 regels in Scala t.o.v. 83 in Java.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Ja, maar je kunt hetzelfde ook in 1 regel Java bereiken. Dat jij het nu nodig vindt om 82 newline characters in te voegen...

Acties:
  • 0 Henk 'm!

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Dag 8 opgelost met wat creatief PHP-misbruik :+ Gaat niet werken voor part 2 vrees ik :P
spoiler:
$fd = fopen('8-1-input.txt', 'r');
$plain = 0;
$notplain = 0;
while ($s = fgets($fd)) {
$s = trim($s);
$plain += strlen($s);
$notplain += eval('return strlen('.$s.');');
}
echo $plain - $notplain;

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Soultaker schreef op woensdag 16 december 2015 @ 14:04:
Ja, maar je kunt hetzelfde ook in 1 regel Java bereiken. Dat jij het nu nodig vindt om 82 newline characters in te voegen...
Heh. Goed. 1.39KB (Scala) versus 3.01 KB (Java) dan :)
Radiant schreef op woensdag 16 december 2015 @ 14:06:
Dag 8 opgelost met wat creatief PHP-misbruik :+ Gaat niet werken voor part 2 vrees ik :P
8-2 kun je met een simpele string-replace doen.

[ Voor 29% gewijzigd door Hydra op 16-12-2015 14:11 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 14-09 22:25
Hydra schreef op woensdag 16 december 2015 @ 10:25:
Day 16 in Java. Deze was simpel; vooral veel tijd kwijt aan parsen en opbouwen van de data set. Wel de tijd genomen om m'n initiele versie van 113 regels naar 83 terug te brengen.
Mijn oplossing in C# is 1,25KB. Ik gebruik veel anonymous types i.c.m lambda's, dat scheelt veel 'noise'. Ik weet weinig van Java, maar heeft Java dat niet?

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Mijn oplossing ook in C# is 24.1 KB (komt grotendeels doordat ik de input erin geplakt heb :+) Met 95 regels is het wel vrij "verbose", maar ik denk wel simpel en duidelijk leesbaar.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 21:07
Mijne was 588 bytes in Python volgens Github maar het kan natuurlijk nog veel kleiner.

Wel een goede casus om Python's for-else constructie te gebruiken.

[ Voor 17% gewijzigd door Soultaker op 16-12-2015 20:19 ]


Acties:
  • 0 Henk 'm!

  • henk1994
  • Registratie: November 2013
  • Laatst online: 12-09 11:56
Ik ben zojuist begonnen, super leuk om een beetje je vaardigheden te testen.
Mijn code is te vinden op Github: https://github.com/WebMakeEU/advent/

Wel vind ik het soms nog moeilijk om de opdrachten te vertalen naar Nederlands :$

[ Voor 22% gewijzigd door henk1994 op 16-12-2015 21:09 ]


Acties:
  • 0 Henk 'm!

  • Marcj
  • Registratie: November 2000
  • Laatst online: 19:11
Ik heb deze kans maar even aangegrepen om eens te oefenen met Java 8 lambda expressies. Is voor heel veel problemen eigenlijk niet zo logisch als ik zou denken...

In ieder geval gingen de eerste 6 dagen best vlot: https://github.com/marcdejonge/adventofcode

Het feit dat die streams in Java 8 niet serieel zijn, brengt me toch vaak in lastige situaties. Zo is het bijvoorbeeld niet mogelijk 'foldr' achtige functie uit te voeren, omdat deze afhankelijk is van het in volgorde uitvoeren van de data.

Edit:
Wacht, er is wel een 'reduce' methode, waarmee ik wel ongeveer zoiets kan. Al is het nog steeds niet helemaal wat ik zoek...

[ Voor 42% gewijzigd door Marcj op 16-12-2015 22:55 ]


  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 28-08 20:24
Computer heeft het druk met berekenen van Day 10 :P (python)

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Down schreef op woensdag 16 december 2015 @ 17:51:
Mijn oplossing in C# is 1,25KB. Ik gebruik veel anonymous types i.c.m lambda's, dat scheelt veel 'noise'. Ik weet weinig van Java, maar heeft Java dat niet?
Je kunt m'n oplossing in Java zien toch? Ik heb een andere aanpak dan jij. Het gaat me er om dat ik in beide sets eigenlijk dezelfde aanpak gebruik en dat dat in Scala minder code oplevert.

https://niels.nu


  • Raynman
  • Registratie: Augustus 2004
  • Laatst online: 21:18
Dag 17 was wel erg kort:
Haskell:
1
main = interact $ show . length . filter ((150 ==) . sum) . subsequences . map read . lines

En deel twee is ook alleen maar een extra filter.

  • veldsla
  • Registratie: April 2000
  • Laatst online: 16:46
Raynman schreef op donderdag 17 december 2015 @ 11:27:
Dag 17 was wel erg kort:
Haskell:
1
main = interact $ show . length . filter ((150 ==) . sum) . subsequences . map read . lines

En deel twee is ook alleen maar een extra filter.
Filter deze dan maar even :)
44, 23, 32, 18, 42, 29, 45, 5, 48, 31, 27, 14, 
12, 26, 46, 14, 35, 18, 18, 46, 50, 37, 46, 25, 50, 
25, 44, 22, 26, 6, 29, 43, 39, 37, 7, 31, 32, 35, 
26, 1, 11, 10, 14, 43, 29, 20, 42, 4, 16, 35, 45, 
33, 40, 47, 25, 26, 41, 16, 1, 8, 30, 48, 48, 17, 
22, 3, 18, 2, 41, 14, 28, 35, 31, 6, 27, 1, 47, 
43, 47, 49, 27, 5, 30, 26, 10, 20, 3, 43, 33, 35, 
13, 1, 7, 10, 47, 16, 26, 22, 14, 31

Overigens heb ik de ballen verstand van Haskell, dus wellicht is het geen probleem :+

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:01

Creepy

Tactical Espionage Splatterer

Hmm.. moet nog dag 15,16 en 17 inhalen.. eens kijken of dat gaat lukken vanavond....

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • veldsla
  • Registratie: April 2000
  • Laatst online: 16:46
Soultaker schreef op woensdag 16 december 2015 @ 20:17:
Mijne was 588 bytes in Python volgens Github maar het kan natuurlijk nog veel kleiner.

Wel een goede casus om Python's for-else constructie te gebruiken.
perl obfuscating is nooit mijn sterkste vak geweest :) 370 340 308 288 bytes. Kunnen nog een paar newlines af...

[ Voor 3% gewijzigd door veldsla op 18-12-2015 08:58 . Reden: Waarom denk ik hier 's nachts aan? ]


  • - peter -
  • Registratie: September 2002
  • Laatst online: 09-09 20:00
Marcj schreef op woensdag 16 december 2015 @ 22:43:

Het feit dat die streams in Java 8 niet serieel zijn, brengt me toch vaak in lastige situaties. Zo is het bijvoorbeeld niet mogelijk 'foldr' achtige functie uit te voeren, omdat deze afhankelijk is van het in volgorde uitvoeren van de data.
Streams zijn toch altijd serieel? Ik weet er niet zo heel veel van, maar zijn ze niet alleen non-serieel als je bijv. een HashSet als source hebt or ParellelStream gebruikt? Lijkt me anders niet echt nuttig.

Acties:
  • 0 Henk 'm!

  • Mebus
  • Registratie: September 2006
  • Laatst online: 13-09 15:06
Leuke opdrachtjes! Ben ook maar eens begonnen zojuist met mijn eerste 2:

spoiler:
1
$a=array_values(array_diff(count_chars($i, 0), array(0)));
echo $a[0] - $a[1];

2
$a=explode(PHP_EOL, $i);
foreach($a as $key => $val)
{
$a2=explode('x', $val);
$a[$key] = (2*$a2[0]*$a2[1])+(2*$a2[1]*$a2[2])+(2*$a2[2]*$a2[0])+min(array(($a2[0]*$a2[1]), ($a2[1]*$a2[2]), ($a2[2]*$a2[0])));
}
echo array_sum($a);

Denk dat code 2 nog wel wat netter en korter kan, maar dit is ook al lekker kort en krachtig! $i = input

Nu op naar 3! :*)

BABYMETAL LoL - Twitch

Pagina: 1 2 3 Laatste

Let op:
Leaderboard