1945. Sum of Digits of String After Convert

You are given a string `s` consisting of lowercase English letters, and an integer `k`.

First, convert `s` into an integer by replacing each letter with its position in the alphabet (i.e., replace `'a'` with `1`, `'b'` with `2`, ..., `'z'` with `26`). Then, transform the integer by replacing it with the sum of its digits. Repeat the transform operation `k` times in total.

For example, if `s = "zbax"` and `k = 2`, then the resulting integer would be `8` by the following operations:

• Convert: `"zbax" ➝ "(26)(2)(1)(24)" ➝ "262124" ➝ 262124`
• Transform #1: `262124 ➝ 2 + 6 + 2 + 1 + 2 + 4 ➝ 17`
• Transform #2: `17 ➝ 1 + 7 ➝ 8`

Return the resulting integer after performing the operations described above.

Example 1:

```Input: s = "iiii", k = 1
Output: 36
Explanation: The operations are as follows:
- Convert: "iiii" ➝ "(9)(9)(9)(9)" ➝ "9999" ➝ 9999
- Transform #1: 9999 ➝ 9 + 9 + 9 + 9 ➝ 36
Thus the resulting integer is 36.
```

Example 2:

```Input: s = "leetcode", k = 2
Output: 6
Explanation: The operations are as follows:
- Convert: "leetcode" ➝ "(12)(5)(5)(20)(3)(15)(4)(5)" ➝ "12552031545" ➝ 12552031545
- Transform #1: 12552031545 ➝ 1 + 2 + 5 + 5 + 2 + 0 + 3 + 1 + 5 + 4 + 5 ➝ 33
- Transform #2: 33 ➝ 3 + 3 ➝ 6
Thus the resulting integer is 6.
```

Example 3:

```Input: s = "zbax", k = 2
Output: 8
```

Constraints:

• `1 <= s.length <= 100`
• `1 <= k <= 10`
• `s` consists of lowercase English letters.

1945. Sum of Digits of String After Convert
``````struct Solution;

impl Solution {
fn get_lucky(s: String, k: i32) -> i32 {
let mut x = "".to_string();
for c in s.bytes() {
x.push_str(&format!("{}", c - b'a' + 1));
}
for _ in 0..k {
x = Solution::transform(x);
}
x.parse::<i32>().unwrap()
}

fn transform(s: String) -> String {
let mut res = 0;
for c in s.bytes() {
res += (c - b'0') as i32;
}
format!("{}", res)
}
}

#[test]
fn test() {
let s = "iiii".to_string();
let k = 1;
let res = 36;
assert_eq!(Solution::get_lucky(s, k), res);
let s = "leetcode".to_string();
let k = 2;
let res = 6;
assert_eq!(Solution::get_lucky(s, k), res);
let s = "zbax".to_string();
let k = 2;
let res = 8;
assert_eq!(Solution::get_lucky(s, k), res);
}
``````