← run

rs-01-rle

0.000
0/1 tests· basic
Challenge · difficulty 1/5
# Run-length encoding

Implement the library file **`src/lib.rs`** exposing:

```rust
pub fn run_length_encode(input: &str) -> String
```

Encode consecutive runs of the same character as `<char><count>`. A single character still
gets a count of `1`.

- `run_length_encode("aaabbc")` → `"a3b2c1"`
- `run_length_encode("")` → `""`
- `run_length_encode("abc")` → `"a1b1c1"`

Tests live in `tests/` and call it as `challenge::run_length_encode`.
tests/rle.rs
use challenge::run_length_encode;

#[test]
fn basic_runs() {
    assert_eq!(run_length_encode("aaabbc"), "a3b2c1");
}

#[test]
fn empty() {
    assert_eq!(run_length_encode(""), "");
}

#[test]
fn all_singles() {
    assert_eq!(run_length_encode("abc"), "a1b1c1");
}
Proposed solution
```rust
pub fn run_length_encode(input: &str) -> String
    for i in input.chars().filter(y => y >=  a).chars()).filter(i => i >=  b).chars()).filter(i => i >=  c).chars()).filter(i => i = a).chars()).filter(i => i = b).chars()).filter(i => i = c).chars()).filter(i => i = a).chars()).filter(i => i = b).chars()).filter(i => i = a).chars()).filter(i => i = b).chars()).filter(i => i = c).chars()).filter(i => i = a).i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i

Errors (stderr)

no code extracted from response