- commit
- 64b0ec629179a25f06c74ad089a71b5d71b2da80
- parent
- 6f6f21d2c95f67ffbc142dcab29e0a863caf37b8
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-12-05 20:25
refactor
Diffstat
M | 2022/05/part1.rs | 18 | ++++++++++-------- |
M | 2022/05/part2.rs | 18 | ++++++++++-------- |
2 files changed, 20 insertions, 16 deletions
diff --git a/2022/05/part1.rs b/2022/05/part1.rs
@@ -1,5 +1,10 @@ 1 1 #[path = "../lib.rs"] mod lib; 2 2 -1 3 fn get_int(line: &str, i: usize) -> Option<usize> { -1 4 let s = line.split(' ').nth(i)?; -1 5 return s.parse::<usize>().ok(); -1 6 } -1 7 3 8 fn main() { 4 9 let mut stacks: Vec<Vec<char>> = vec![]; 5 10 let mut init = false; @@ -9,11 +14,8 @@ fn main() { 9 14 if line.len() == 0 { 10 15 init = true; 11 16 } else {12 -1 if stacks.len() == 0 {13 -1 let n = (line.len() + 1) / 4;14 -1 for _ in 0..n {15 -1 stacks.push(vec![]);16 -1 }-1 17 while stacks.len() * 4 < line.len() + 1 { -1 18 stacks.push(vec![]); 17 19 } 18 20 for i in 0..stacks.len() { 19 21 let c = line.chars().nth(i * 4 + 1).unwrap(); @@ -23,9 +25,9 @@ fn main() { 23 25 } 24 26 } 25 27 } else {26 -1 let k = line.split(' ').nth(1).unwrap().parse::<usize>().unwrap();27 -1 let a = line.split(' ').nth(3).unwrap().parse::<usize>().unwrap();28 -1 let b = line.split(' ').nth(5).unwrap().parse::<usize>().unwrap();-1 28 let k = get_int(&line, 1).unwrap(); -1 29 let a = get_int(&line, 3).unwrap(); -1 30 let b = get_int(&line, 5).unwrap(); 29 31 30 32 for _ in 0..k { 31 33 let c = stacks[a - 1].pop().unwrap();
diff --git a/2022/05/part2.rs b/2022/05/part2.rs
@@ -1,5 +1,10 @@ 1 1 #[path = "../lib.rs"] mod lib; 2 2 -1 3 fn get_int(line: &str, i: usize) -> Option<usize> { -1 4 let s = line.split(' ').nth(i)?; -1 5 return s.parse::<usize>().ok(); -1 6 } -1 7 3 8 fn main() { 4 9 let mut stacks: Vec<Vec<char>> = vec![]; 5 10 let mut tmp = vec![]; @@ -10,11 +15,8 @@ fn main() { 10 15 if line.len() == 0 { 11 16 init = true; 12 17 } else {13 -1 if stacks.len() == 0 {14 -1 let n = (line.len() + 1) / 4;15 -1 for _ in 0..n {16 -1 stacks.push(vec![]);17 -1 }-1 18 while stacks.len() * 4 < line.len() + 1 { -1 19 stacks.push(vec![]); 18 20 } 19 21 for i in 0..stacks.len() { 20 22 let c = line.chars().nth(i * 4 + 1).unwrap(); @@ -24,9 +26,9 @@ fn main() { 24 26 } 25 27 } 26 28 } else {27 -1 let k = line.split(' ').nth(1).unwrap().parse::<usize>().unwrap();28 -1 let a = line.split(' ').nth(3).unwrap().parse::<usize>().unwrap();29 -1 let b = line.split(' ').nth(5).unwrap().parse::<usize>().unwrap();-1 29 let k = get_int(&line, 1).unwrap(); -1 30 let a = get_int(&line, 3).unwrap(); -1 31 let b = get_int(&line, 5).unwrap(); 30 32 31 33 for _ in 0..k { 32 34 let c = stacks[a - 1].pop().unwrap();