đŸ•Żïž Advent of Code 2019 đŸ•Żïž

PermalÀnk
Medlem ★
●

đŸ•Żïž Advent of Code 2019 đŸ•Żïž

Snart Àr det dags igen!

Jag skapar en trÄd redan nu och lÀnkar till förra Ärets leaderboard (skapad av @GLaDER) dÀr det redan finns lite anvÀndare anslutna:
115994-59705230

TÀnker att vi kör samma struktur pÄ svaren ocksÄ, dÀr lösningen placeras inom spoiler-taggar.

Dag:
SprÄk:
Lösning:

Diskutera gÀrna lite vad ni planerar att anvÀnda för sprÄk och hur ni förbereder er (om ni gör det). Kanske lite bakgrund om vilka sprÄk ni anvÀnder vanligtvis och vilken nivÄ man ligger pÄ (jobbat i 25 Är, amatör, gymnasiet, aldrig lÀst en rad kod o.s.v.).

Kommer att fokusera pÄ JavaScript (ES6). Har lÀst mycket kod men aldrig skrivit nÄgot vettigt sjÀlv. Amatör med andra ord

Förra Äret kÀmpade jag rÀtt hÄrt med parsing av input och output, sÄ dÀr mÄste jag fÄ till nÄgot bra innan det drar igÄng.

Visa signatur

Grubblare

PermalÀnk
Medlem ★
●
Skrivet av drwlz:

Snart Àr det dags igen!

Jag skapar en trÄd redan nu och lÀnkar till förra Ärets leaderboard (skapad av @GLaDER) dÀr det redan finns lite anvÀndare anslutna:
115994-59705230

TÀnker att vi kör samma struktur pÄ svaren ocksÄ, dÀr lösningen placeras inom spoiler-taggar.

Dag:
SprÄk:
Lösning:

Diskutera gÀrna lite vad ni planerar att anvÀnda för sprÄk och hur ni förbereder er (om ni gör det). Kanske lite bakgrund om vilka sprÄk ni anvÀnder vanligtvis och vilken nivÄ man ligger pÄ (jobbat i 25 Är, amatör, gymnasiet, aldrig lÀst en rad kod o.s.v.).

Kommer att fokusera pÄ JavaScript (ES6). Har lÀst mycket kod men aldrig skrivit nÄgot vettigt sjÀlv. Amatör med andra ord

Förra Äret kÀmpade jag rÀtt hÄrt med parsing av input och output, sÄ dÀr mÄste jag fÄ till nÄgot bra innan det drar igÄng.

Nice, tack fÄr pÄminnelsen Ska försöka ha lite diciplin i Är och köra sÄ mÄnga dagar som möjligt.

Funderar pÄ att försöka köra C#, men jag har suttit nÀstan uteslutande i Javascript de senaste 3-4 mÄnaderna sÄ jag kanske Àr lite rostig pÄ det

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

PermalÀnk
Medlem
●

Jag brukar köra första tre dagarna innan jag lessnar och ger upp. Blir nog samma upplÀgg i Är

Funderar pÄ att koda i gamla hederliga C99.

PermalÀnk
Medlem ★
●

Nice!

Jag kommer nog inte köra alls i Är. Förra Äret gjorde jag i stort sett alla tasks, och jag gjorde dem innan jag gick till jobbet. Det tog lite för mycket tid och jag har svÄrt för att göra nÄgot halvdant, sÄ dÄ skippar jag nog istÀllet. Kanske drar ihop ett gÀng och kör nÄgot hackathon-liknande istÀllet och löser mÄnga problem i en stint, tsm, istÀllet.

Visa signatur

:(){ :|:& };:

đŸŠđŸ»â€â™‚ïž   đŸšŽđŸ»â€â™‚ïž   đŸƒđŸ»â€â™‚ïž   ☕

PermalÀnk
Medlem ★
●

Brukar oftast ta mig drygt halvvÀgs till julafton innan jag lessnar/behöver tid till annat..
Har tidigare blandat sprÄk hejvilt, i Är tÀnkte jag hÄlla mig till Kotlin, borde ge mig bÀttre odds att orka hela vÀgen

PermalÀnk
Datavetare ★
●

Kommer pÄ nÄgot sÀtt delta i Advent of Code 2019.

Körde alla tasks frÄn 1 fram till 18 förra Äret. Stannade dÀr p.g.a. utlandssemester över jul/nyÄr som började den 19:e. DÄ var det C++17, specifikt med mÄlet att anvÀnda standardbiblioteket sÄ lÄngt som möjligt dÄ det hÀnt en del i C++11/14/17.

LÀr inte kunna köra Ànda fram till jul detta Är heller, men kommer nu skriva allt i Rust dÄ det Àr ett sprÄk jag tror mycket pÄ för system- och OS-utveckling.

Är nybörjare i Rust, sĂ„ kommer fastna pĂ„ detaljer i sprĂ„ket/standardbiblioteket. Programmerat sedan barnsben och tjĂ€nat mitt levebröd pĂ„ att knacka kod i lite över tvĂ„ decennium (primĂ€rt C och C++, men Ă€ven varit assembler, Java, Python och nĂ„gon skvĂ€tt JS under Ă„ren).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

PermalÀnk
Medlem ★
●

Som mÄnga andra kommer jag nog ge det ett försök men snabbt ge upp för att tiden inte rÀcker, precis som tidigare Är.

Jag kör nog pÄ Haskell i Är igen. Jag har inte tid att sÀtta mig in i nÄgot helt nytt, men kanske kan bli lite mer bekvÀm i detta sprÄket istÀllet.

Jag anvÀnder Rust dagligen i mitt arbete sen 3 Är tillbaka. Det var mest C++ och en del Java innan dess.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

PermalÀnk
Medlem ★
●

Kommer börja men inte genomföra, har inte tid och energi pga jobb.

Skickades frÄn m.sweclockers.com

PermalÀnk
Medlem ★
●

Jag har en kĂ€nsla av att det kommer vara för svĂ„rt för mig, men skall Ă€ndĂ„ ge det ett Ă€rligt försök. Även om man bara hinner med ett par dagar sĂ„ Ă€r det en kul grej

Visa signatur

Grubblare

PermalÀnk
Datavetare ★
●
Skrivet av gibbon_:

Som mÄnga andra kommer jag nog ge det ett försök men snabbt ge upp för att tiden inte rÀcker, precis som tidigare Är.

Jag kör nog pÄ Haskell i Är igen. Jag har inte tid att sÀtta mig in i nÄgot helt nytt, men kanske kan bli lite mer bekvÀm i detta sprÄket istÀllet.

Jag anvÀnder Rust dagligen i mitt arbete sen 3 Är tillbaka. Det var mest C++ och en del Java innan dess.

Kanske man kan fÄ lite tips

Brukar vara rĂ€tt mycket saker i Advent of Code som enklast löses med reguljĂ€ra uttryck, typiskt inlĂ€sning av indata (anvĂ€nde std::regex frĂ„n C++11 rĂ€tt frekvent förra Ă„ret). Ser inte att detta finns i Rusts nuvarande standardbibliotek men hittat detta. Är det OK eller finns det nĂ„got lĂ€mpligare?

Dialekten som biblioteket ovan anvÀnder verkar vara samma som den Go har i sitt standardbibliotek. Har inte jÀttemycket erfarenhet av Go heller Àn, men ÀndÄ anvÀnt det sprÄket en del inklusive regex-delen. Har Go som mitt andrahands val till Advent of Code 2019 om det blir allt för frustrerande att köra i ett sprÄk man skrivit mindre Àn tusen rader kod i Àn (men borde nÀrma mig tusenraders grÀnser i Rust snart).

Vad kör du för debugger? Go fungerar ju hur bra som helst att debugga i VS-code, bÄde under Linux (som jag föredrar) och Windows. Kan debugga Rust i Emacs, vilket Àr helt OK. Men vill samtidigt lÀra mig VS-code mer och det hÀr kÀnns ju som ett bra tillfÀlle (kört Emacs i mer Àn 20 Är, sÄ har absolut inget emot det, Àr min primÀra editor pÄ jobbet).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

PermalÀnk
Medlem ★
●
Skrivet av Yoshman:

Brukar vara rĂ€tt mycket saker i Advent of Code som enklast löses med reguljĂ€ra uttryck, typiskt inlĂ€sning av indata (anvĂ€nde std::regex frĂ„n C++11 rĂ€tt frekvent förra Ă„ret). Ser inte att detta finns i Rusts nuvarande standardbibliotek men hittat detta. Är det OK eller finns det nĂ„got lĂ€mpligare?

Du fÄr nog vÀnta lÀnge pÄ regex i standardbiblioteket. Som det stÄr i allra början av dokumentationen; "The Rust Standard Library is the foundation of portable Rust software, a set of minimal and battle-tested shared abstractions for the broader Rust ecosystem."
"emphasis mine" T.ex. fick de inte Future i std förren vĂ€ldigt nyligen, och den enda anledningen de drog in det biblioteket i std var för att stödja async/await。

Jag har sjĂ€lv anvĂ€nt den crate du lĂ€nkade ett antal gĂ„nger. Över lag gillar jag deras instĂ€llning, men det kan vara lite irriterande ibland nĂ€r man bara vill ha "det mest populĂ€ra biblioteket för X" och behöver ge sig ut pĂ„ jakt efter stats och Ă„sikter. Delvis beror vĂ€l det pĂ„ att ekosystemet fortfarande Ă€r relativt ungt.

Skrivet av Yoshman:

Vad kör du för debugger? Go fungerar ju hur bra som helst att debugga i VS-code, bÄde under Linux (som jag föredrar) och Windows. Kan debugga Rust i Emacs, vilket Àr helt OK. Men vill samtidigt lÀra mig VS-code mer och det hÀr kÀnns ju som ett bra tillfÀlle (kört Emacs i mer Àn 20 Är, sÄ har absolut inget emot det, Àr min primÀra editor pÄ jobbet).

Kan inte hjÀlpa dig dÀr, jag Àr och har alltid varit en sÄn dÀr printf-debuggare. Rust fick ett ganska trevligt macro för en stund sen, dbg!, som enkelt glider in i existerande uttryck.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

PermalÀnk
●

Alltid ett treat, passar perfekt att testa clojure & minizinc i december

PermalÀnk
Datavetare ★
●
Skrivet av gibbon_:

Du fÄr nog vÀnta lÀnge pÄ regex i standardbiblioteket. Som det stÄr i allra början av dokumentationen; "The Rust Standard Library is the foundation of portable Rust software, a set of minimal and battle-tested shared abstractions for the broader Rust ecosystem."
"emphasis mine" T.ex. fick de inte Future i std förren vĂ€ldigt nyligen, och den enda anledningen de drog in det biblioteket i std var för att stödja async/await。

Jag har sjĂ€lv anvĂ€nt den crate du lĂ€nkade ett antal gĂ„nger. Över lag gillar jag deras instĂ€llning, men det kan vara lite irriterande ibland nĂ€r man bara vill ha "det mest populĂ€ra biblioteket för X" och behöver ge sig ut pĂ„ jakt efter stats och Ă„sikter. Delvis beror vĂ€l det pĂ„ att ekosystemet fortfarande Ă€r relativt ungt.

Kan inte hjÀlpa dig dÀr, jag Àr och har alltid varit en sÄn dÀr printf-debuggare. Rust fick ett ganska trevligt macro för en stund sen, dbg!, som enkelt glider in i existerande uttryck.

Tack för info om regex!

Lyckades fÄ igÄng debugger i VSCode+Linux m.h.a. clang+llvm (lldb och lldb-vxcode) samt tillÀgget CodeLLDB. Man fÄr fortfarande skriva sin launch.json manuellt, men det fungerar sedan att debugga

Det mesta verkar fungerar bra, men vissa saker ska tydligen inte visas korrekt som t.ex. Hash
Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

PermalÀnk
99:e percentilen ★
●

TĂ€nker att jag satsar pĂ„ min vanliga strategi: "I Ă„r ska jag minsann lösa samtliga uppgifter och lĂ€ra mig en massa bra saker 
 oj, nu börjar Kalle Anka!"

Visa signatur

Skrivet med hjÀlp av Better SweClockers

PermalÀnk
Medlem
●

Det hade vart kul som proof-of-concept om jag kunde lösa Ärets i mitt eget sprÄk Carth, men det Àr inte helt fungerande nu, sÄ skulle nog bli jobbigt. LÀr bli Haskell eller kanske Rust annars, mest för att jag redan Àr bekvÀm med dem. Kanske Carp, ett annat nytt sprÄk som ser intressant ut, om jag kÀnner mig Àventyrlig.

Visa signatur

Arbets- / Spelstation: Arch Linux - Ryzen 5 3600 - RX 7900 XT - 32G DDR4
Server: Arch Linux - Core i5-10400F - 16G DDR4

PermalÀnk
Medlem ★
●

Visste inte ens om detta, men studerar front end nu, sÄ ska hÀnga med i JS!

PermalÀnk
Medlem ★
●
Skrivet av Alling:

TĂ€nker att jag satsar pĂ„ min vanliga strategi: "I Ă„r ska jag minsann lösa samtliga uppgifter och lĂ€ra mig en massa bra saker 
 oj, nu börjar Kalle Anka!"

Som jag skrev ovan. Vi kör Hackathon med @lindhe nÄgon gÄng under Decembers andra halvas mitt istÀllet!

Visa signatur

:(){ :|:& };:

đŸŠđŸ»â€â™‚ïž   đŸšŽđŸ»â€â™‚ïž   đŸƒđŸ»â€â™‚ïž   ☕

PermalÀnk
●

@Bryal:

Jag vill ocksÄ skriva det i Carth, ser ju urtrevligt ut! Riktigt impad, hur lÀnge har du jobbat pÄ sprÄket?

PermalÀnk
Medlem
●
Skrivet av Kattankarl:

@Bryal:

Jag vill ocksÄ skriva det i Carth, ser ju urtrevligt ut! Riktigt impad, hur lÀnge har du jobbat pÄ sprÄket?

Tack för intresset, men tyvÀrr Àr det ganska oanvÀndbart just nu eftersom stödet för att anropa externa funktioner definierade i C och dyl. Àr trasigt, sÄ ingen IO. Det enda man kan göra just nu Àr att vÀrma processorn med tunga berÀkningar Det hade vart kul om jag han fixa det innan 1a december, men det kÀnns tveksamt.

Beroende pÄ hur man ser pÄ det sÄ har utvecklingen pÄgÄtt till och frÄn i ca 5 Är vid det hÀr laget, om man rÀknar med alla falska starter och omskrivningar. Den senaster inkarnationen, som Àr skriven i Haskell, började jag jobba pÄ i oktober förra Äret.

Visa signatur

Arbets- / Spelstation: Arch Linux - Ryzen 5 3600 - RX 7900 XT - 32G DDR4
Server: Arch Linux - Core i5-10400F - 16G DDR4

PermalÀnk
AvstÀngd
●

Vet inte riktigt hur detta gÄr till med fÄr nog bli Python för min del.

PermalÀnk
Medlem ★
●

LĂ„ter kul Ă€ven om jag har lite dĂ„lig koll. Är det lite som coding golf? FĂ„r dock se om jag har tid, ork och lust att köra. Om det blir av blir det troligen Java, Javascript eller Typescript. Fast det kanske hade varit ett bra tillfĂ€lle att plocka upp Python igen efter att endast skrivit nĂ„gra mindre grejer för nĂ„gra Ă„r sedan

Arbetat i 5+ Är och det Àr frÀmst java, javascript/typescript jag anvÀnder till vardags.

Visa signatur

StationÀr: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston A2000 1TB (x2), Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

PermalÀnk
Medlem ★
●
Skrivet av Peking:

LĂ„ter kul Ă€ven om jag har lite dĂ„lig koll. Är det lite som coding golf? FĂ„r dock se om jag har tid, ork och lust att köra. Om det blir av blir det troligen Java, Javascript eller Typescript. Fast det kanske hade varit ett bra tillfĂ€lle att plocka upp Python igen efter att endast skrivit nĂ„gra mindre grejer för nĂ„gra Ă„r sedan

Arbetat i 5+ Är och det Àr frÀmst java, javascript/typescript jag anvÀnder till vardags.

Kolla pÄ föregÄende Ärs uppgifter (https://adventofcode.com/2018/day/1) sÄ förstÄr du hur det fungerar

Visa signatur

:(){ :|:& };:

đŸŠđŸ»â€â™‚ïž   đŸšŽđŸ»â€â™‚ïž   đŸƒđŸ»â€â™‚ïž   ☕

PermalÀnk
Medlem
●

Yo, Johan heter jag, Àr 23 och hyfsat aktiv i det hÀr forumet. Gillar att hjÀlpa folk som behöver hjÀlp med sina skoluppgifter haha.

Jag började koda nÀr jag var 15, gick en tre-Ärig utbildning pÄ gymnasiet. Sedan jobbade jag ett Är som webbutvecklare. Gick tillbaka till plugget och studerade 3 Är I Linköping, Innovativ Programmering. Tog examen 2018, och har nu jobbat ca 1,5 Är som full-stack utvecklare.

Kommer sitta med Node och skriva i ES6. Är vad jag Ă€r trygg med. Det hĂ€r blir tredje Ă„ret med AoC och jag har aldrig tagit igenom mig alla frĂ„gor. Har inte tiden :/ Men i Ă„r ska jag försöka igen ^^

Kommer lÀgga upp mina lösningar pÄ Github (https://github.com/johanbx/AoC-2019) och posta dem hÀr.

PermalÀnk
Medlem
●

Del 1

console.log(p1.split('\n').map(m => (m/3>>0)-2).reduce((a,b)=>a+b));

Del 2

console.log( p1 .split('\n') .map(m => { let total = 0; let curr = m; do { curr = (curr/3>>0)-2; total += curr > 0 ? curr : 0; } while (curr > 0) return total; }) .reduce((a,b)=>a+b) );

Node.js svar dag 1

https://github.com/johanbx/AoC-2019

PermalÀnk
Medlem
●

Dag:1
SprÄk: PHP
Lösning:

Del 1:

include("input.php"); foreach($input as $mass){ $sum += floor($mass / 3) - 2; } echo $sum;

Del 2:

include("input.php"); foreach($input as $mass){ $x = $mass; while ($x >= 9){ $x = floor($x / 3) - 2; $sum += $x; } } echo $sum;

Dold text

Skriver en del PHP i jobbet och Àr nog det sprÄk jag kan skriva snabbast utan referns material. Funderade att göra det i Go, C++, alternativt C# för utvekla mina kunskaper lite. Men har lite dÄligt med tid idag sÄ fick bli PHP. Satt ett par timmar igÄr med C++ sÄ kanske fortsÀtter med C++ senare.

Edit: Skall tillÀgas att jag Àr sÄ gott som sjÀlvlÀrd. Gick Programmering A i gymnasiet och vi rörde lite vid C++ men allt var simpla konsol program utan OOP. Detta Àr ca 14-15Är sedan.

Extra text
Visa signatur

Node 304 White | Asus Strix X470-I | R5 2600 @ 3.85Ghz | 16GiB DDR4-3000Mhz CL15 | Sapphire Radeon RX 5700 PULSE | 512GiB 860 EVO M.2 | 1TiB 970 EVO Plus NVMe | Corsair SF450

PermalÀnk
Medlem ★
●

KĂ€nns som första luckan bĂ€st löses med excel... Är poĂ€ngen att man ska vĂ€lja ett sprĂ„k och lösa alla uppgifter med samma sprĂ„k? SĂ„klart skĂ€mmigt men troligen fungerar Excel hela vĂ€gen med lite VBA?

PermalÀnk
Medlem
●

Dag: 1
SprÄk: Scala
Lösning:

val input = Using .resource(Source.fromFile(path.toFile))(_.getLines().toList) .flatMap(_.toIntOption) val cost: Int => Int = _ / 3 - 2 input .map(cost) .sum .pipe(println) input .flatMap(x => Iterator.iterate(cost(x))(cost).takeWhile(_ > 0)) .sum .pipe(println)

Dold text
PermalÀnk
Medlem
●

@Mordekai:
VÀlj vilket/vilka sprÄk du vill. PoÀngen Àr att lösa problemen. Hur man gör det fÄr man vÀlja helt fritt. SjÀlv kommer jag anvÀnda det sprÄk jag kan bÀst, Scala. Ett annat alternativ Àr att se det som en utmaning för att lÀra sig ett nytt sprÄk eller olika sprÄk varje dag. Du kan hitta pÄ egna utmaningar, kort kod, snabb kod, olÀslig kod osv.
Bara kul om det Àr mÄnga olika sprÄk i trÄden.

PermalÀnk
Medlem ★
●
Skrivet av Mordekai:

KĂ€nns som första luckan bĂ€st löses med excel... Är poĂ€ngen att man ska vĂ€lja ett sprĂ„k och lösa alla uppgifter med samma sprĂ„k? SĂ„klart skĂ€mmigt men troligen fungerar Excel hela vĂ€gen med lite VBA?

Spelar ingen roll vilket sprÄk man vÀljer, man kan köra olika för varje dag om man vill

Skickades frÄn m.sweclockers.com

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

PermalÀnk
Medlem ★
●

Ok, jag fegar med C#

Del 1&2

private void button1_Click(object sender, EventArgs e) { int sum = 0; foreach (string curLine in GetLines(this.txtInput.Text)) { int? curTestValue = ToInt(curLine); if (curTestValue!=null) { int curValue = (int)curTestValue; switch (this.numSubTask.Value) { case 1: sum = sum + (curValue / 3) - 2; break; case 2: int fuel = Fuel(curValue); sum = sum + fuel; while (Fuel(fuel)>0) { fuel = Fuel(fuel); sum = sum + fuel; } break; default: break; } } } txtAnswer.Text = sum.ToString(); } private int Fuel(int mass) { return Math.Max((mass / 3) - 2,0); } private List<string> GetLines(string input) { return input.Split(new[] { "\r\n", "\r", "\n" },StringSplitOptions.None).ToList<string>(); } private int? ToInt(string val) { int test; bool isint = int.TryParse(val, out test); if (isint) { return test; } return null; }

C# svar dag 1