started dec 8, but is bad

This commit is contained in:
2021-12-08 23:38:00 +01:00
parent d0b6ebc6f5
commit daf0ca92e4
4 changed files with 310 additions and 0 deletions

92
december_8/src/main.rs Normal file
View File

@@ -0,0 +1,92 @@
use std::fs::File;
use std::io::{BufReader};
use std::io::prelude::*;
fn main(){
let file = File::open("./input.txt").expect("Read failed");
let reader = BufReader::new(file);
let mut line_vec = Vec::new();
for line in reader.lines(){
let line_as_string = line.unwrap();
let split_line = line_as_string.split('|').collect::<Vec<&str>>();
let input = split_line[0].to_owned();
let result = split_line[1].to_owned();
let input_list: Vec<String> = input.split_whitespace().map(|x| x.to_owned()).collect();
let result_list: Vec<String> = result.split_whitespace().map(|x| x.to_owned()).collect();
line_vec.push((input_list, result_list));
}
let mut easy_values = 0;
for line in line_vec.iter(){
let result = line.to_owned().1;
for res in result {
let len_res = res.len();
if len_res == 2 || len_res == 3 || len_res == 4 || len_res == 7 {
easy_values += 1;
}
}
}
println!("Easy values: {}", easy_values);
for line in line_vec{
let input = line.0;
let mut lengths: Vec<i8> = vec![0; 10];
let mut real_numbers: Vec<i8> = vec![0; 10];
let mut translation: Vec<char> = vec!['x'; 7];
// Calculate size
for i in 0..lengths.len() {
let len_res = input[i].len() as i8;
lengths[i] = len_res;
}
//Find ones, fours, sevens and eights
for i in 0..input.len() {
if lengths[i] == 2 {
real_numbers[i] = 1
} else if lengths[i] == 3 {
real_numbers[i] = 7
} else if lengths[i] == 4 {
real_numbers[i] = 4
} else if lengths[i] == 7 {
real_numbers[i] = 8
}
}
println!();
}
}
fn set_translation(in_dict: &mut Vec<char>, letter: char, translation: char) -> &mut Vec<char> {
if letter == 'a' {
in_dict[0] = translation;
} else if letter == 'b' {
in_dict[1] = translation;
} else if letter == 'c' {
in_dict[2] = translation;
} else if letter == 'd' {
in_dict[3] = translation;
} else if letter == 'e' {
in_dict[4] = translation;
} else if letter == 'f' {
in_dict[5] = translation;
} else if letter == 'g' {
in_dict[6] = translation;
}
return in_dict;
}