Compare commits
2 Commits
641a176c77
...
d76692ba8d
| Author | SHA1 | Date | |
|---|---|---|---|
| d76692ba8d | |||
| 9f900b1f52 |
1
december_3_1/.gitignore
vendored
Normal file
1
december_3_1/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/target
|
||||
8
december_3_1/Cargo.toml
Normal file
8
december_3_1/Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "december_3_1"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
1000
december_3_1/input.txt
Normal file
1000
december_3_1/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
48
december_3_1/src/main.rs
Normal file
48
december_3_1/src/main.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader};
|
||||
use std::io::prelude::*;
|
||||
|
||||
const NUMBER_OF_BITS: u8 = 12;
|
||||
|
||||
fn main(){
|
||||
let file = File::open("./input.txt").expect("Read failed");
|
||||
let reader = BufReader::new(file);
|
||||
|
||||
let mut line_vec = Vec::new();
|
||||
//let mut gamma_bits = Vec::new();
|
||||
|
||||
let all_lines = reader.lines();
|
||||
|
||||
|
||||
for line in all_lines{
|
||||
let line_as_string = line.unwrap();
|
||||
line_vec.push(line_as_string);
|
||||
}
|
||||
|
||||
for i in 0..NUMBER_OF_BITS {
|
||||
let mut ones = 0;
|
||||
let mut zeros = 0;
|
||||
for l in &line_vec{
|
||||
match l.chars().nth(i.into()).unwrap() {
|
||||
'0' => zeros += 1,
|
||||
'1' => ones += 1,
|
||||
_ => println!("you should never be here"),
|
||||
}
|
||||
}
|
||||
if ones > zeros {
|
||||
print!("1");
|
||||
} else {
|
||||
print!("0");
|
||||
}
|
||||
println!();
|
||||
}
|
||||
|
||||
// 101001001011 2635
|
||||
// 010110110100 1460
|
||||
|
||||
|
||||
println!("Depth: {}, Horizontal: {}, Result: {}", 1,2,3);
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user