diff options
Diffstat (limited to '2022/01/common.rs')
| -rw-r--r-- | 2022/01/common.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/2022/01/common.rs b/2022/01/common.rs new file mode 100644 index 0000000..8ed8b49 --- /dev/null +++ b/2022/01/common.rs | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | pub fn get_elves_from_stdin() -> Vec<Vec<i64>> { | ||
| 2 | let mut e = Vec::<Vec::<i64>>::new(); | ||
| 3 | e.push(Vec::<i64>::new()); | ||
| 4 | let mut line = String::new(); | ||
| 5 | loop { | ||
| 6 | match std::io::stdin().read_line(&mut line).unwrap() { | ||
| 7 | 0 => break, | ||
| 8 | 1 => e.push(Vec::<i64>::new()), | ||
| 9 | _ => { | ||
| 10 | let n = line.trim().parse::<i64>().unwrap(); | ||
| 11 | let last = e.len() - 1; | ||
| 12 | e[last].push(n); | ||
| 13 | } | ||
| 14 | } | ||
| 15 | line.clear(); | ||
| 16 | } | ||
| 17 | e | ||
| 18 | } | ||
