This commit is contained in:
2025-01-31 23:05:40 +01:00
parent 2b2fce0c42
commit a7b1b9d061
3 changed files with 31 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
Welcome.
In this kata you are required to, given a string, replace every letter with its position in the alphabet.
If anything in the text isn't a letter, ignore it and don't return it.
"a" = 1, "b" = 2, etc.
Example
```
Input = "The sunset sets at twelve o' clock."
Output = "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11"
```

View File

@@ -0,0 +1,8 @@
export function alphabetPosition(text: string): string {
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
const indexArray = [...text]
.map((char) => alphabet.indexOf(char.toLowerCase()))
.filter((index) => index !== -1)
.map((index) => index + 1);
return indexArray.join(' ');
}

View File

@@ -0,0 +1,10 @@
import { assert } from "chai";
import { alphabetPosition } from "./solution";
describe("Tests", () => {
it("test", () => {
assert.equal(alphabetPosition("The sunset sets at twelve o' clock."), "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11");
assert.equal(alphabetPosition("The narwhal bacons at midnight."), "20 8 5 14 1 18 23 8 1 12 2 1 3 15 14 19 1 20 13 9 4 14 9 7 8 20");
});
});