-
Code fn total_fine(speed: i32, signals: &[i32]) -> u32 { signals.iter().map(|&signal| fine(speed, signal)).sum() } fn fine(speed: i32, signal: i32) -> u32 { match speed - signal { ..=9 => 0, 10..=19 => 100, 20..=29 => 250, 30.. => 500 } }
Test Cases mod tests { use super::*; fn test_add() { assert_eq!(total_fine(70, &[]), 0); assert_eq!(total_fine(60, &[80, 70, 60]), 0); assert_eq!(total_fine(0, &[15, 25, 35, 46]), 0); assert_eq!(total_fine(100, &[110, 100, 80]), 250); assert_eq!(total_fine(130, &[140, 130, 100]), 500); } }
Output:
-
Code public class Kata {public static int speedLimit(int speed, int[] signals) {int penalty = 0;for (int i = 0; i < signals.length; i++){if (speed > signals[i]){if (speed - signals[i] >= 30){penalty += 500;} else if (speed - signals[i] >= 20 && speed - signals[i] < 30){penalty += 250;} else if (speed - signals[i] >= 10 && speed - signals[i] < 20){penalty += 100;}}}return penalty;- fn total_fine(speed: i32, signals: &[i32]) -> u32 {
- signals.iter().map(|&signal| fine(speed, signal)).sum()
- }
- fn fine(speed: i32, signal: i32) -> u32 {
- match speed - signal {
- ..=9 => 0,
- 10..=19 => 100,
- 20..=29 => 250,
- 30.. => 500
- }
- }
Test Cases import org.junit.jupiter.api.Test;import static org.junit.jupiter.api.Assertions.assertEquals;- #[cfg(test)]
- mod tests {
- use super::*;
// TODO: Replace examples and use TDD by writing your own testsclass SolutionTest {@Testvoid testSomething() {// assertEquals("expected", "actual");- #[test]
- fn test_add() {
- assert_eq!(total_fine(70, &[]), 0);
- assert_eq!(total_fine(60, &[80, 70, 60]), 0);
- assert_eq!(total_fine(0, &[15, 25, 35, 46]), 0);
- assert_eq!(total_fine(100, &[110, 100, 80]), 250);
- assert_eq!(total_fine(130, &[140, 130, 100]), 500);
- }
- }
- All
- {{group.name}} ({{group.count}})
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}