20250101 finished.
This commit is contained in:
parent
2aa12ebd2d
commit
4897c3b81d
|
@ -404,3 +404,5 @@ mod p1366_rank_teams_by_votes;
|
||||||
mod p1367_linked_list_in_binary_tree;
|
mod p1367_linked_list_in_binary_tree;
|
||||||
|
|
||||||
mod p3219_minimum_cost_for_cutting_cake_ii;
|
mod p3219_minimum_cost_for_cutting_cake_ii;
|
||||||
|
|
||||||
|
mod p3280_convert_date_to_binary;
|
||||||
|
|
49
src/problem/p3280_convert_date_to_binary.rs
Normal file
49
src/problem/p3280_convert_date_to_binary.rs
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
/**
|
||||||
|
* [3280] Convert Date to Binary
|
||||||
|
*/
|
||||||
|
pub struct Solution {}
|
||||||
|
|
||||||
|
// submission codes start here
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
|
impl Solution {
|
||||||
|
pub fn convert_date_to_binary(date: String) -> String {
|
||||||
|
date.split('-')
|
||||||
|
.map(|x| u32::from_str(x).unwrap())
|
||||||
|
.map(|mut x| {
|
||||||
|
let mut result = vec![];
|
||||||
|
|
||||||
|
while x != 0 {
|
||||||
|
result.push(x % 2);
|
||||||
|
x = x / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
result
|
||||||
|
.iter()
|
||||||
|
.rev()
|
||||||
|
.map(|c| c.to_string())
|
||||||
|
.collect::<String>()
|
||||||
|
})
|
||||||
|
.reduce(|acc, e| acc + "-" + e.as_str())
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// submission codes end
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_3280() {
|
||||||
|
assert_eq!(
|
||||||
|
"100000100000-10-11101".to_owned(),
|
||||||
|
Solution::convert_date_to_binary("2080-02-29".to_owned())
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
"11101101100-1-1".to_owned(),
|
||||||
|
Solution::convert_date_to_binary("1900-01-01".to_owned())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user