This commit is contained in:
2022-12-05 04:15:59 -05:00
parent 3f56e96f57
commit b419e68fb8
4 changed files with 368 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
use std::fs;
fn calc(input: Vec<&str>) {
let mut vec: Vec<_> = [].to_vec();
let mut score: i32 = 0;
let strinj = Vec::from(('a'..='z').chain('A'..='Z').collect::<Vec<char>>());
for i in input.iter() {
let string = i.split_at(i.len() / 2);
string.0.chars().any(|c| {
if string.1.contains(c) { vec.push(c); };
string.1.contains(c)
});
};
for i in vec.iter() {
score = score + strinj.iter().position(|&r| r == *i).unwrap() as i32 + 1;
}
println!("{:?}", score)
}
fn badge(input: Vec<&str>) {
let strinj = Vec::from(('a'..='z').chain('A'..='Z').collect::<Vec<char>>());
let chunked: Vec<_> = input.chunks(3).map(|x| x.to_vec()).collect();
let mut vec: Vec<_> = [].to_vec();
let mut score: i32 = 0;
for a in chunked.iter() {
a[0].chars().any(|c| {
if a[1].contains(c) && a[2].contains(c) { vec.push(c); true } else { false }
});
};
for i in vec.iter() {
score = score + strinj.iter().position(|&r| r == *i).unwrap() as i32 + 1;
}
println!("{:?}", score)
}
fn main() {
let input = fs::read_to_string("input.txt").expect("fuck me sideways");
let result: Vec<_> = input.split("\n").collect();
calc(result.clone());
badge(result);
}