# Problem 19: Counting Sundays : So close!

Tell us what’s happening:
So I’ve been trying to solve this problem by brute force and I am so close! The only test-case I am not passing is the 2nd one where I should get an output of 9 instead of 10. I’m going to take a break and come back to this but if anyone can spot where I am going wrong and give me a hint I’d appreciate it!

``````
function countingSundays(firstYear, lastYear) {
let daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
let startYearIndex =  12*(firstYear-1901)
let firstSunday = init()[startYearIndex]
let sundays = [firstSunday]
generate(firstYear, lastYear)

function calcSundays(daysInMonth, sundayInPrevMonth){
let daysLeft = daysInMonth - sundayInPrevMonth
let daysIntoNext = daysLeft%7
let firstSundayNextMonth = 7-daysIntoNext
return firstSundayNextMonth
}

function init(){
let daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
let sundays = [6]
for (let i = 1901; i <= 2000; i++){
if (i % 4 === 0 || i % 100 === 0 && i % 400 === 0){
daysInMonth[1] = 29
} else {
daysInMonth[1] = 28
}
for (let j = 0; j < 12; j++){
sundays.push(calcSundays(daysInMonth[j], sundays[sundays.length-1]))
}
}
return sundays
}

function generate(firstYear, lastYear){
for (let i = firstYear; i <= lastYear; i++){
if (i % 4 === 0 || i % 100 === 0 && i % 400 === 0){
daysInMonth[1] = 29
} else {
daysInMonth[1] = 28
}
for (let j = 0; j < 12; j++){
sundays.push(calcSundays(daysInMonth[j], sundays[sundays.length-1]))
}
}
}

return sundays.filter((x)=>x===1).length

}

countingSundays(1943, 1946);

``````

User Agent is: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36`.