started dec 8, but is bad
This commit is contained in:
92
december_8/src/main.rs
Normal file
92
december_8/src/main.rs
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user