function solution(distance, trashes) {
const trashMap = new Map();
for (const trash of trashes) {
for (const el of trash) trashMap.set(el, trashMap.get(el) + 1 || 1);
}
const houses = [];
for (let i = 0; i < distance.length; i++) {
const trashMap = new Map();
for (const trash of trashes[i]) {
trashMap.set(trash, trashMap.get(trash) + 1 || 1);
}
houses.push({ distance: distance[i], trashes: trashMap });
}
const collectionTimes = [
collect(houses, "P", trashMap),
collect(houses, "G", trashMap),
collect(houses, "M", trashMap)
];
return Math.max(...collectionTimes);
}