aoc

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

main2.c (947B)


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