Less awkward line length hack

This commit is contained in:
2021-12-04 11:28:32 +01:00
parent 392aefb32d
commit fdef10a78e

View File

@@ -67,15 +67,14 @@ fn find_remaining(mut strings: Vec<u32>, most: bool, len: usize) -> u32 {
pub fn part2(input: &mut dyn Read) -> String { pub fn part2(input: &mut dyn Read) -> String {
let mut strings = Vec::new(); let mut strings = Vec::new();
let mut reader = LineIter::new(input); let mut reader = LineIter::new(input);
let mut len = None; let mut read_line = reader.next();
let len = read_line.unwrap().len();
while let Some(line) = reader.next() { while let Some(line) = read_line {
strings.push(u32::from_str_radix(line, 2).unwrap()); strings.push(u32::from_str_radix(line, 2).unwrap());
len = Some(line.len()); read_line = reader.next();
} }
let len = len.unwrap();
let oxygen = find_remaining(strings.clone(), true, len); let oxygen = find_remaining(strings.clone(), true, len);
let co2 = find_remaining(strings, false, len); let co2 = find_remaining(strings, false, len);