1234567891011121314151617181920 |
- library(stringr)
- library(dplyr)
- input <- read.csv("input2.csv", header=F, stringsAsFactors=F)
- names(input) = "Orig"
-
- # First question
- input %>% mutate(minv = as.numeric(str_extract(Orig, "[0-9]+")),
- maxv = as.numeric(str_extract(str_extract(Orig, "-[0-9]+"), "[0-9]+")),
- letter = str_extract(Orig, "[a-z]"),
- pword = str_extract(Orig, "[a-z]+$"),
- count = str_count(pword, letter),
- valid = (count <= maxv) & (count >= minv)) -> result
- # 607
- sum(result$valid)
-
- # Second question
- result %>% mutate(fpos = str_sub(pword, minv, minv) == letter,
- spos = str_sub(pword, maxv, maxv) == letter,
- valid2 = (fpos + spos) == 1) -> result
- sum(result$valid2)
|