Skip to content

Instantly share code, notes, and snippets.

@sprzybylski
Created December 2, 2025 06:37
Show Gist options
  • Select an option

  • Save sprzybylski/1febaf2100cb94b345459e6b6db51f0f to your computer and use it in GitHub Desktop.

Select an option

Save sprzybylski/1febaf2100cb94b345459e6b6db51f0f to your computer and use it in GitHub Desktop.
const input = [
{ start: "11", end: "22" },
{ start: "95", end: "115" },
{ start: "998", end: "1012" },
{ start: "1188511880", end: "1188511890" },
{ start: "222220", end: "222224" },
{ start: "1698522", end: "1698528" },
{ start: "446443", end: "446449" },
{ start: "38593856", end: "38593862" },
{ start: "565653", end: "565659" },
{ start: "824824821", end: "824824827" },
{ start: "2121212118", end: "2121212124" },
];
const isInvalid = (value) => {
for (let len = 1; len <= value.length / 2; len++) {
if (value.length % len === 0) {
const pattern = value.slice(0, len);
if (pattern.repeat(value.length / len) === value) {
return true;
}
}
}
return false;
};
const result = input
.map(({ start, end }) => {
let count = 0;
for (let i = start; i <= end; i++) {
if (isInvalid(i.toString())) {
count += i;
}
}
return count;
})
.reduce((a, b) => Number(a) + Number(b), 0);
console.log(result);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment