Posts by Renão

    Hey Manul,


    zum Austausch: gerne. Vermutlich motiviert das auch noch mal ein wenig mehr, weiterzumachen.


    Mein Problem beim AoC ist aktuell, dass es wirklich nur um diese eine Lösung geht. Dahingehend ist der Lösungsansatz häufig relativ schnell erkennbar, allerdings versuche ich den Fall dann mal für mich zu nutzen und einfach mal bisschen anders an die Problem ranzugehen (ich habe aufgegeben in diesem Rahmen elixir zu lernen und löse erstmal um voranzukommen alles im gewohnten .NET Core Umfeld). Dennoch fühle ich mich im Kontext dieser Aufgaben eher dahingehend zum Prutschen als zum sauberen Programmieren animiert ;-).


    Ich finde es leider etwas befremdlich, wenn eine Story aufgebaut wird, und am Ende aber so kryptische Lösungen gefragt sind, wie "Was ist die Summe aller Zoll-Antworten, die von jedem mit ja beantwortet wurden?".


    Hatte mir an der Stelle etwas mehr Motivation durch die Story erhofft.


    Zu deiner Lösung kann ich noch nichts sagen, habe gestern erstmal keine Lust mehr auf Day 7, Puzzle 2 gehabt. Mal schauen, ob ich diese Aufgabe erstmal überspringe oder mich heute dann noch mal dransetze :)

    Puh, ich muss ja sagen, es geht mir auch mittlerweile bisschen auf die Nerven, dass man durch Form der Inputs eigentlich fast nur IO und String-Operationen macht ... mh ...

    Puh, irgendwie komme ich den Aufgaben nicht hinterher - dennoch macht es weiterhin Spaß zu tüfteln ;)


    Werde dann gleich endlich mal mit Day 5 anfangen und ggf. krieg ich den 6. auch noch hinterher... mal sehen - dauert dann hier und da ja auch bisschen länger als man denkt :)

    Du darfst dich auch gern an dem Code bedienen Mr. Adrian: https://github.com/Hofei90/Hof…tofCode/blob/main/day3.py

    Aber die Lösung lautet:

    Solution auf Day 3 #1: 244

    Solution auf Day 3 #2: 9406609920

    [...]

    Vielen lieben Dank schon einmal!


    Ich habe es meinen Tests hinzugefügt und werde mal weiter knobeln.


    Ich muss auch zugeben, dass ich bis gestern dachte, dass ich gar nicht weiter machen kann, wenn ich die alten Aufgaben noch nicht gelöst habe. Dennoch ergibt es natürlich viel mehr Sinn, die Aufgaben der Reihe nach zu erledigen.

    So, da mangels Zeit die Lösungsfindung in einer komplett anders strukturierten Sprache doch etwas länger dauert, habe ich mich entschlossen erstmal bisschen aufs Gas zu drücken und die Lösungen in meinem Täglich-Brot-C# zu implementieren:


    => https://github.com/renao/Advent_of_Code_NET


    Um dem Monk in mir gerecht zu werden, habe ich erstmal natürlich die bereits gelösten Aufgaben nachgebaut und stecke gerade an Tag 3 Teil 2 fest.


    Ehrlicherweise bin ich mir gerade unsicher, ob mein Weg durch die "Slopes" an einer Stelle einen Gedankenfehler hat oder ob ich irgendwo einen Overflow nicht mitbekomme beim Multiplizieren der Antworten.


    Hat jemand mal Lust auf meine (falsche-) Lösung zu schauen bzw. meinen Input mal bei sich durchzujagen?


    Dann hätte ich eine richtige Assertion für den Test und könnte mich zumindest daran orientieren :)


    Natürlich ist das Knobeln hier auch Teil der Sache, aber es macht auch mehr Spaß, wenn ich auch mal fix wieder an die aktuellen Aufgaben komme ;)


    P.S.: Meine falsche Lösung ist: 8034812640

    Hofei Mein Verdacht wäre, dass Python nur bis zu bestimmten Trennzeichen in readlines() agiert - und wenn ein New-Line (welches auch immer) dann in der letzten Zeile fehlt, dass diese nicht gelesen wird.


    Fänd' ich eigenartig, aber es gibt diverse Parser/Linter die genau so ein New Line Character am Dateiende voraussetzen (deswegen gibt es diese Option bspw. auch in vielen Code Editoren, dass automatisiert ein solches Zeichen ergänzt wird, falls es am Dateiende fehlt).


    Das Internet scheint den Verdacht zu bestätigen, aber ist natürlich auch nur eine Annahme:


    Quote

    file.readlines() will only ever split on \n, \r or \r\n depending on the OS and if universal newline support is enabled.

    Was ich an deinem Ansatz mit dem C64 so gerne mag, __blackjack__, ist die Tatsache, dass du etwas kreativer sein muss in der Lösungsfindung, weil du eben nicht eine riesengroße Standard-Lib hast oder gar schnelle Prozessoren.


    Ich sitze gerade an Aufgabe zwei und optimiere gerade (soweit ich das in der neuen Sprache überhaupt schon kann) mein Parsing der Eingaben - natürlich könnte ich durch die relativ mächtige Sprache auch einfach für jeden benötigten Teil ein Regex einsetzen - oder aber ich versuche alle Informationen direkt in einer Iteration abzufrühstücken.


    Aktuell sind's bei mir diverse String-Operationen, weswegen ich noch nicht ganz dort gelandet bin, wo ich ggf. hin möchte. Mal sehen :)

    [...]

    Hab mir deine Sprache gestern schonmal angeschaut, verstehen tu ich davon 0.

    [...]

    Ist ein wenig anders alles, deswegen tue ich mich auch gerade schwer aus der OOP-Denke rauszukommen, aber genau das tut auch gerade gut - egal wie viel Hirnakrobatik aktuell von Nöten ist ;)


    Wollte ansonsten gerade sagen, dass ich endlich meine ersten beiden Sterne fürs Leaderboard beitragen kann ... dann steht da doch tatsächlich das Tag 1 gar nicht gewertet wird :P

    Schön zu sehen, dass es in euren Python-Lösungen diese `itertools` gibt :)


    Gerade weil ich aktuell 'ne neue Sprache lerne, versuche ich den Kram gerade komplett zu Fuß zu machen, da Day1 jetzt auch nicht übertrieben komplex daherkommt.


    Dennoch bin ich aufgrund der mir gerade zufliegenden Verständlichkeit eurer Lösungen doch aktuell etwas neidisch (Abgesehen von deinem BASIC __blackjack__ - wirkt mir aktuell alles zu prozessornah ;))

    So... habe bislang auch noch auf einem eigenen Branch je Lösung gearbeitet, da ich dachte, dass man evtl. Aufgaben vorziehen kann (wäre ja absurd, wenn es im Rahmen einer Abenteuergeschichte läuft - hätte ich auch selbst mal drauf kommen können ;-)).


    Mein fehlschlagender Kram ist erstmal auf master ... mal schauen, inwiefern mich die Arbeit heute weitermachen lässt ;)

    Bin auch gerade mal samt meiner null Sterne dazu gekommen.


    Wenn ich das morgen raus habe, wie ich die geschachtelte Iteration für Aufgabe 1 funktional abgebildet kriege, gibt es auch neue Sternchen... aber vorher komme ich nicht dazu ;)


    Edit:

    Habe dann auch mal meine bisherigen Nicht-Lösungen auf öffentlich gestellt, für wen auch immer: https://github.com/renao/advent-of-code_2020

    Nachtrag: Habe heute auch mal einen Beitrag in unserem Intranet zum Thema verfasst. Bisher gab es vor allem Rückmeldungen von den Nicht-Codern :P

    Puh, ich habe vorhin mal 30-40 Minuten investiert, bin auch schon relativ weit gekommen, dafür dass ich mit elixir direkt mal Hals-über-Kopf in die funktionalen Sprachen springe und mir die Standard Lib zusammensuchen muss.


    _Eigentlich_ fehlt mir nur noch das Raussuchen der Zahlen ... dann werde ich auch mal meinen ziemlich miesen elixir-Code veröffentlichen :P

    Ah, schöne Challenge mit dem C64.


    Packst du deinen Code irgendwo öffentlich hin?


    Wenn es irgendwen interessieren würde und ich wirklich die Zeit dafür finde, würde ich das alles in ein github Repo packen und man könnte sich hier zu seinen Lösungen austauschen.

    Oh, cool.


    Danke für den Hinweis. Nachdem ich eine Hand voll Entwickler zumindest schon mal für den Hacktober bei uns begeitern konnte, werde ich diese Aufgaben einfach mal auch bei uns in der Firma streuen :)


    __blackjack__ Entschuldige bitte, aber ich bin selten hier im Python-Forum unterwegs, dementsprechend kann ich das nicht einschätzen: Hast du vor Python auf dem Weg zu lernen oder ist es erfahrungsgemäß einfach mal ein größtenteils "anderes" Feld in dem man diese Aufgaben löst?


    Ich würde anhand der ersten Aufgaben sonst mal schauen, ob ich den AoC dafür nutze, den lange aufgeschobenen Start mit elixir zu wagen :)

    Was für eine Anwendung ist das denn? Desktop-Anwendung oder einfach nur irgendeine Server-Aufgabe "im Hintergrund" des Netzwerks?


    Keine Ahnung, ob es RDP für Raspis gibt oder ob X11 noch angesagt sind (da wird dir gleich bestimmt jemand anderes hier helfen können), aber ansonsten gäbe es natürlich auch immer den Zugriff via SSH.


    Da es sich auch nicht anhört, als würden wir hier über das Mega-Special-Netzwerk reden, würde ich auch davon ausgehen, dass der Pi sich mit seinem Rechnernamen im Netzwerk finden lässt und dementsprechend eine Verbindung ggü. diesem Namen möglich sein wird: ssh adminuser@kundenpi bspw.

    So kleine Idee am Rande... wenn du eh einen Raspi fürs Monitoring ausstattet und es ggf. gar nicht so teuer wird - wie wäre es denn sonst damit, zumindest zwei Systeme damit auszustatten? Nicht, dass das Monitoring vor allen anderen Geräten in die Knie geht ;)