Submitted at
2026-05-05 22:00:23
javascript
AI generated puzzle
// Builds a 30-night observation schedule.
// Each slot is set to an observation timestamp when the user logs a session,
// or left empty (deleted) when a night is cleared.
function buildSchedule() {
const schedule = new Array(30);
// Simulate some logged nights
schedule[0] = '2024-11-01T21:00:00Z';
schedule[2] = '2024-11-03T22:15:00Z';
schedule[5] = '2024-11-06T20:45:00Z';
schedule[10] = '2024-11-11T23:00:00Z';
// User later clears night index 2 (clouds rolled in)
delete schedule[2];
return schedule;
}
// Counts how many nights in the 30-night window were NOT observed.
function countMissedNights(schedule) {
let missedNights = 0;
schedule.forEach((slot, index) => {
if (slot === undefined) {
// This night has no observation logged
missedNights++;
}
});
return missedNights;
}
const schedule = buildSchedule();
const missed = countMissedNights(schedule);
console.log(`Missed nights: ${missed}`);
// Expected: 27 (30 total − 3 observed: indices 0, 5, 10)
// Actual: 26 (the hole at index 2 is silently skipped by forEach)