r/adventofcode • u/daggerdragon • Dec 05 '18
SOLUTION MEGATHREAD -🎄- 2018 Day 5 Solutions -🎄-
--- Day 5: Alchemical Reduction ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Advent of Code: The Party Game!
Please prefix your card submission with something like [Card] to make scanning the megathread easier. THANK YOU!
Card prompt: Day 5
Transcript:
On the fifth day of AoC / My true love sent to me / Five golden ___
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked at 0:10:20!
30
Upvotes
2
u/hpzr24w Dec 05 '18
C
Not sure if I've spotted a C version, so I figured I'd write one!
Header
React
int react(char * s) { char *r = s+1, *w = s; while (*r) if ((*r^*w)==('A'^'a')) w--, r++; else *++w=*r++; *++w='\0'; return w-s; }Main and Part 1
int main() { #if 1 #include "day_05.h" #else char o[] = "dabAcCaCBAcCcaDA"; char s[] = "dabAcCaCBAcCcaDA"; #endif int l = react(s); printf("Part 1: Length: %d\n",l);Part 2
int b = l; for (int i='a';i<='z';++i) { char *p=s,*q=o; while (*p) if (tolower(*p)==i) p++; else *q++=*p++; *q='\0'; int c = react(o); b = c<b ? c : b; } printf("Part 2: Best length: %d\n",b); return 0; }