1
class Solution {
2
public:
3
int sumDigits(int num) {
4
int sum = 0;
5
while (num) {
6
sum += num % 10;
7
num /= 10;
8
}
9
return sum;
10
}
11

12
int getLucky(string s, int k) {
13
int sum = 0;
14
for (char &ch : s) {
15
int val = ch - 'a' + 1;
16
sum += val < 10 ? val : (val % 10 + val / 10);
17
}
18

19
k -= 1; // Why ? We already did one transformation above (getting sum of
20
// character values)
21
while (k-- && sum >= 10) // sum >= 10 reduces unwanted Transform calls because if
22
// we are left with 1-digit,that will be our result
23
sum = sumDigits(sum);
24

25
return sum;
26
}
27
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0