aoc

advent of code
git clone git://source.orangerot.dev:/aoc.git
Log | Files | Refs

main.c (734B)


      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 #include <string.h>
      4 
      5 char getWrong(char *line)
      6 {
      7     char *middle = line + strlen(line)/2;
      8     char *a = line;
      9     char *b = middle;
     10     for (char *a = line; a < middle; a++)
     11     {
     12         for (char *b = middle; *b != '\n'; b++)
     13         {
     14             if ( *a == *b ) return *b;
     15         }
     16     }
     17 }
     18 
     19 int main()
     20 {
     21     char *line = NULL;
     22     size_t len;
     23     int prios = 0;
     24     
     25     while (getline(&line, &len, stdin) >= 0)
     26     {
     27         char wrong = getWrong(line);
     28         printf("%c", wrong);
     29         int prio;
     30         if ( wrong >= 97 && wrong <= 122 ) prio = wrong - 96;
     31         else prio = wrong - 64 + 26;
     32         printf("%d", prio);
     33         prios += prio;
     34     }
     35     printf("\n%d\n", prios);
     36 }