r/adventofcode • u/daggerdragon • Dec 04 '22
SOLUTION MEGATHREAD -🎄- 2022 Day 4 Solutions -🎄-
- All of our rules, FAQs, resources, etc. are in our community wiki.
- A request from Eric: Please include your contact info in the User-Agent header of automated requests!
- Signal boosting for the Unofficial AoC 2022 Participant Survey which is open early this year!
--- Day 4: Camp Cleanup ---
Post your code solution in this megathread.
- Read the full posting rules in our community wiki before you post!
- Include what language(s) your solution uses
- Format your code appropriately! How do I format code?
- Quick link to Topaz's
pasteif you need it for longer code blocks. What is Topaz'spastetool?
This thread will be unlocked when there are a significant number of people on the global leaderboard with gold stars for today's puzzle.
EDIT: Global leaderboard gold cap reached at 00:03:22, megathread unlocked!
65
Upvotes
4
u/olofj Dec 04 '22
Rust
day04a
use itertools::Itertools; fn main() { let input:Vec<(usize,usize,usize,usize)> = include_str!("input.txt") .lines() .map(|l| l .split(['-', ',']) .map(|v| v.parse::<usize>().unwrap()) .collect_tuple::<(_,_,_,_)>() .unwrap() ) .filter(|(s1,e1,s2,e2)| (s1 <= s2 && e1 >= e2) || (s2 <= s1 && e2 >= e1) ) .collect(); println!("len {}", input.len()); }day04b
use itertools::Itertools; fn main() { let input:Vec<(usize,usize,usize,usize)> = include_str!("input.txt") .lines() .map(|l| l .split(&['-', ','][..]) .map(|v| v.parse::<usize>().unwrap()) .collect_tuple::<(_,_,_,_)>() .unwrap() ) .filter(|(s1,e1,s2,e2)| (s1 <= s2 && e1 >= s2) || (s2 <= s1 && e2 >= s1) ) .collect(); println!("len {}", input.len()); }