Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding
Ninjas X Naukri.com

Problem of the day

You are given a string ‘S’ of length ‘N’ which consists of digits from 0 to 9 only. If the mapping of characters from a to z is like a = 1, b = 2, c = 3…. Z = 26. You need to convert the given string of digits into the string of characters using the mapping.

Print all the possible strings that can be generated from the given string ‘S’. Print the strings in non-decreasing sorted lexicographical order.

```
‘S’ = “112”.
Output: [aab, al, kb]
The possible ways to convert the given strings is:
aab => a = 1, a = 1, b = 2,
al => a = 1, l = 12
kb => k = 11, b = 2
Hence, the final array is: [aab, al, kb].
```

Detailed explanation

```
1 <= T <= 10
1 <= S.length <= 20
Sum of length of strings over all test cases <= 20
Time Limit: 1 sec
```

```
2
1123
125
```

```
aabc aaw alc kbc kw
abe ay le
```

```
For the first case:
aabc => a=1, a=1, b=2, c=3
aaw => a=1, a=1, w=23
alc => a=1, l=12, c=3
kbc => k=11, b=2, c=3
kw => k=11, w=23
Sorting the strings in lexicographical order, so the final output is [aabc, aaw, alc, kbc, kw].
For the second case:
abe => a=1, b=2, e=5
le => l=12, e=5
Sorting the strings in lexicographical order, the final output is [abe le].
```

```
2
721023
871121
```

```
gbjbc gbjw
hgaaba hgaau hgala hgkba hgku
```