Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. extern crate itertools; // 0.8.0
  2. use itertools::Itertools; // 0.8.0
  3.  
  4. fn g(x: u32) -> u32 {
  5. let s = x.to_string();
  6. s.chars()
  7. .map(|c| c.to_digit(10).unwrap())
  8. .into_iter()
  9. .group_by(|&x| x)
  10. .into_iter()
  11. .map(|(k, group)| (group.count() as u32, k))
  12. .fold(0, |acc, (repeats, digit)| acc * 100 + repeats * 10 + digit)
  13. }
  14.  
  15. fn main() {
  16. println!("{:?} should be 221311", g(2231));
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement