Skip to content

Instantly share code, notes, and snippets.

@ivelasq
Created December 1, 2021 05:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ivelasq/11dab5e0c19fdce8fef2e9b711aec19a to your computer and use it in GitHub Desktop.
Save ivelasq/11dab5e0c19fdce8fef2e9b711aec19a to your computer and use it in GitHub Desktop.
AOC 2021 Day 1
# Advent of Code
## Day 1
library(tidyverse)
### Practice
v <-
c("199", "200", "208", "210", "200", "207", "240", "269", "260", "263") %>%
as_tibble()
v %>%
mutate(measurement = case_when(lag(.) < . ~ "increased",
lag(.) > . ~ "decreased",
TRUE ~ "N/A")) %>%
group_by(measurement) %>%
tally()
### Real Thing
#### Part 1
input <-
tibble(x = read_lines("/Users/shortessay/Desktop/aoc1_1.txt")) %>%
mutate(x = as.numeric(x))
input %>%
mutate(measurement = case_when(lag(.) < . ~ "increased",
lag(.) > . ~ "decreased",
TRUE ~ "N/A")) %>%
group_by(measurement) %>%
tally()
#### Part 2
input %>%
mutate(measurement_sum = . + lead(., n = 1) + lead(., n = 2)) %>%
mutate(
measurement = case_when(
lag(measurement_sum) < measurement_sum ~ "increased",
lag(measurement_sum) > measurement_sum ~ "decreased",
TRUE ~ "N/A"
)
) %>%
group_by(measurement) %>%
tally()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment