2024-07-18 21:06:39 -04:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
2024-11-19 20:04:10 -05:00
|
|
|
#include <string.h>
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
#include "../../lib/aoc.h"
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
int main() {
|
|
|
|
char *input = aoc_read_input();
|
|
|
|
int length = strlen(input) - 1;
|
|
|
|
int sum = 0;
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
for (int i = 0; i < length - 1; i++) {
|
|
|
|
if (input[i] == input[i + 1]) {
|
|
|
|
sum += input[i] - '0';
|
2024-07-18 21:06:39 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
if (input[0] == input[length - 1]) {
|
|
|
|
sum += input[0] - '0';
|
2024-07-18 21:06:39 -04:00
|
|
|
}
|
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
printf("Part 1: %d\n", sum);
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
sum = 0;
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
|
if (input[i] == input[(i + (length / 2)) % length]) {
|
|
|
|
sum += input[i] - '0';
|
2024-07-18 21:06:39 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
printf("Part 2: %d\n", sum);
|
2024-07-18 21:06:39 -04:00
|
|
|
|
2024-11-19 20:04:10 -05:00
|
|
|
free(input);
|
2024-07-18 21:06:39 -04:00
|
|
|
}
|