Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d900549
another Kata
AhmedEldessouki Feb 14, 2021
e9fb413
kata
AhmedEldessouki Feb 14, 2021
4e73aaf
another kata
AhmedEldessouki Aug 11, 2021
4423567
some stuff
AhmedEldessouki Aug 13, 2021
755e3d6
passphrase kata
AhmedEldessouki Aug 26, 2021
16d5d65
encrypt this from codewars
AhmedEldessouki Aug 26, 2021
4544174
Street Fighter 2 - Character Selection
AhmedEldessouki Sep 2, 2021
1a9d65a
14/15 street fight part 2 kata
AhmedEldessouki Sep 2, 2021
e10a078
14/15 street fight part 2 kata
AhmedEldessouki Sep 2, 2021
681eb0e
15/15 Street Fighter 2 - Character Selection - Part 2 ---- KATA
AhmedEldessouki Sep 2, 2021
94e9e3b
another KATA
AhmedEldessouki Sep 3, 2021
435080a
Where my anagrams at? ---Kata---
AhmedEldessouki Sep 6, 2021
40fed03
domainName
AhmedEldessouki Sep 20, 2021
c709ad8
verifySudoku Kata
AhmedEldessouki Sep 20, 2021
cc05d39
snail Kata
AhmedEldessouki Sep 21, 2021
8a60b71
Kata:Perimeter of squares in a rectangle
AhmedEldessouki Sep 22, 2021
c8f7dc5
Kata: Smallest possible sum
AhmedEldessouki Sep 22, 2021
ab2c6d8
Kata: Smallest possible sum
AhmedEldessouki Sep 23, 2021
02b4ba6
Kata: Write out numbers
AhmedEldessouki Sep 23, 2021
ccc362e
nodeList cycle... cracking hackerRank line inputs
AhmedEldessouki Sep 27, 2021
a9877ab
HackerRank: challange
AhmedEldessouki Sep 27, 2021
c8a0501
HackerRank: challange
AhmedEldessouki Sep 27, 2021
d111c5d
HackerRank: doublelinked
AhmedEldessouki Sep 28, 2021
75370b3
HackerRank: It's not Done Yet
AhmedEldessouki Sep 29, 2021
8389732
CodeWars: Using closures to share class state
AhmedEldessouki Sep 29, 2021
3019cdc
CodeWars: Connect 4
AhmedEldessouki Sep 30, 2021
478e1c6
CodeWars: Maze... Simple is solved but complix isnt
AhmedEldessouki Oct 4, 2021
6076036
CodeWars: Maze... Solved
AhmedEldessouki Oct 4, 2021
8f8aa0f
CodeWars: Maze... 2 Mazes to be checked
AhmedEldessouki Oct 4, 2021
0d0009d
CodeWars: Maze... lesser code base
AhmedEldessouki Oct 5, 2021
8291e25
CodeWars: Prices
AhmedEldessouki Oct 8, 2021
f9a0f71
CodeWars: Directions Reduction
AhmedEldessouki Oct 8, 2021
713b9ec
CodeWars: Square into Squares. Protect trees
AhmedEldessouki Oct 8, 2021
35247bf
CodeWars: Fibonacci Streaming
AhmedEldessouki Oct 12, 2021
1184b8d
CodeWars: Getting along with Integer Partitions
AhmedEldessouki Oct 12, 2021
d0792a6
CodeWars: Getting along with Integer Partitions
AhmedEldessouki Oct 13, 2021
a2860a7
CodeWars: Going to zero or to infinity?
AhmedEldessouki Oct 13, 2021
e303b94
CodeWars: Going to zero or to infinity?
AhmedEldessouki Oct 14, 2021
0acc98e
CodeWars: Going to zero or to infinity? --- Solved
AhmedEldessouki Oct 14, 2021
7585859
CodeWars: Maze... It work but it's hacky
AhmedEldessouki Oct 15, 2021
9d929d1
CodeWars: Maximum subarray sum
AhmedEldessouki Oct 19, 2021
9be807a
CodeWars: Sum of pairs
AhmedEldessouki Nov 11, 2021
cdc4455
CodeWars: Next Biggest Number
AhmedEldessouki Nov 11, 2021
95e5436
CodeWars: Gap in Primes
AhmedEldessouki Nov 12, 2021
fe4d63c
CodeWars: Fibo akin
AhmedEldessouki Nov 12, 2021
c3a22a4
CodeWars: Fibo akin
AhmedEldessouki Nov 12, 2021
4bb507b
CodeWars: Mixbonacci
AhmedEldessouki Nov 16, 2021
b7f8a05
CodeWars: Kingdoms Ep2: The curse (normal)
AhmedEldessouki Nov 16, 2021
f73de7c
updates
AhmedEldessouki Dec 25, 2022
7738d23
Kata get Odd
AhmedEldessouki Jan 4, 2023
c74f6fb
DAMN THATS SMART
AhmedEldessouki Jan 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
""
],
"SelectedNode": "\\index.html",
"PreviewInSolutionExplorer": false
"PreviewInSolutionExplorer": false,
"editor.bracketPairColorization.enabled": true
}
22 changes: 0 additions & 22 deletions index.js

This file was deleted.

125 changes: 125 additions & 0 deletions js/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.translate = void 0;
function translate(speech, vocabulary) {
if (speech.length === 0)
return speech;
const speechArr = speech.split(" ");
const history = {};
function handleChanges() {
for (let index = 0; index < speechArr.length; index++) {
if (speechArr[index].search(/[*]/g) > -1) {
const containSpecial = speechArr[index].search(/[?!,.]/g) > -1;
const target = speechArr[index];
const len = containSpecial
? speechArr[index].length - 1
: speechArr[index].length;
let hints = target
.split("")
.reduce((acc, l, i) => l.search(/[a-z]/g) > -1 ? [...acc, { l, i }] : acc, []);
if (!(len in history)) {
history[len] = {
s: speechArr.filter((w) => {
const isWSpecial = w.search(/[?!,.]/g) > -1;
if (isWSpecial)
return w.length - 1 === len;
return w.length === len;
}),
// ? That one is for the mark
v: vocabulary.filter((w) => w.length === len),
};
}
if (history[len].v.length === 1 && history[len].s.length === 1) {
speechArr[index] = containSpecial
? history[len].v[0] + target.charAt(target.length - 1)
: history[len].v[0];
history[len].v = [];
history[len].s = [];
hints = [];
}
if (hints.length > 0) {
let x = -1;
const found = history[len].v.filter((w, ind) => {
const success = hints.reduce((acc, obj) => (acc ? w.charAt(obj.i) === obj.l : acc), true);
if (success) {
x = ind;
}
return success;
});
if (found.length === 1) {
history[len].v.splice(x, 1);
const tIndex = history[len].s.indexOf(target);
if (tIndex > -1) {
history[len].s.splice(history[len].s.indexOf(target), 1);
}
speechArr[index] = containSpecial
? found[0] + target.charAt(target.length - 1)
: found[0];
}
}
}
}
}
while (true) {
handleChanges();
if (speechArr.filter((w) => w.search(/[*]/g) > -1).length === 0)
break;
}
return speechArr.join(" ");
}
exports.translate = translate;
// See https://www.chaijs.com for how to use Chai.
let examp = ["a**? *c*. **e,", ["ace", "acd", "abd"]];
console.log(translate(examp[0], examp[1]), "[[solution]]:", "abd? acd. ace,");
let a = ["m** ***e **s l*****", ["name", "myy", "legion", "iss"]];
console.log(translate(a[0], a[1]), "[[solution]]:", "myy name iss legion");
let b = [
"*** **** **s *****n, f** **e *r* m***!",
["mmy", "name", "iss", "legion", "for", "wwe", "are", "many"],
];
console.log(translate(b[0], b[1]), "[[solution]]:", "mmy name iss legion, for wwe are many!");
let c = [
"*** **g *o* never **o **rment m*e!",
[
"demon",
"mme",
"hell",
"spit",
"iii",
"pigg",
"beg",
"too",
"you",
"never",
"torment",
"exorcism",
],
];
console.log(translate(c[0], c[1]), "[[solution]]:", "iii beg you never too torment mme!");
let d = [
"***! **ll? f*l*. he*l, fe*l? c*ll. ***t,",
["mel", "dell", "felt", "fill", "fell", "hell", "cell"],
];
console.log(translate(d[0], d[1]), "[[solution]]:", "mel! dell? fill. hell, fell? cell. felt,");
let e = ["", ["hell", "weak"]];
console.log(translate(e[0], e[1]), "[[solution]]:", "");
let f = ["****. ***,", ["aaa", "bbbb"]];
console.log(translate(f[0], f[1]), "[[solution]]:", "bbbb. aaa,");
a = [
"fye*** w*eg **e ***z* ***s x*e*fg *****v eee*eu i** ***re **g*t* *e*",
[
"eggete",
"fefffv",
"eeeeeu",
"fyefee",
"wfeg",
"iee",
"eefs",
"hee",
"hfe",
"efere",
"gegzf",
"xgeffg",
],
];
console.log(translate(a[0], a[1]), "[[solution]]:", "fyefee wfeg hfe gegzf eefs xgeffg fefffv eeeeeu iee efere eggete hee");
7 changes: 7 additions & 0 deletions js/indexTs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"use strict";
function manhattanDistance(nFloors) {
return parseInt(nFloors.toString().split('').sort((a, b) => parseInt(a) - parseInt(b)).reverse().join(''));
}
console.log(manhattanDistance(42145));
console.log(manhattanDistance(145263));
console.log(manhattanDistance(123456789));
Loading