From ea3bb06a1dc295c668ee74fc6461e8e0dcbb880e Mon Sep 17 00:00:00 2001 From: koronya Date: Sun, 1 Feb 2026 21:13:17 +0900 Subject: [PATCH] [JS][6kyu] Simple Fun #332: Catch Thief --- .../simple-fun-332-catch-thief/koronya.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 codewars/6kyu/simple-fun-332-catch-thief/koronya.js diff --git a/codewars/6kyu/simple-fun-332-catch-thief/koronya.js b/codewars/6kyu/simple-fun-332-catch-thief/koronya.js new file mode 100644 index 000000000..61814523a --- /dev/null +++ b/codewars/6kyu/simple-fun-332-catch-thief/koronya.js @@ -0,0 +1,26 @@ +// [JS][6kyu] Simple Fun #332: Catch Thief +// simple-fun-332-catch-thief +// https://www.codewars.com/kata/5954584610080b7252000003/train/javascript + +const catchThief = (queue) => { + const thiefIndex = [] + const policeSet = new Set() + queue.split('').forEach((char, index) => { + if (char === 'X') { + thiefIndex.push(index) + } + if (char === '#') { + return + } + for (let i = index - Number(char); i <= index + Number(char); i += 1) { + policeSet.add(i) + } + }) + return thiefIndex.filter((index) => policeSet.has(index)).length +} + +catchThief('X1X#2X#XX') === 3 + +catchThief('X5X#3X###XXXX##1#X1X') === 5 + +catchThief('X#X1#X9XX') === 5