It seems the US had a very large army and navy by the end of the Africa campaign, their troops were at least somewhat seasoned, they were reading the Germans' signals, and they had already greatly weakened the German Luftwaffe. Why did they instead attack in Italy when they could have gone for the German throat much sooner?
Although the promise to open a second front was promised to Stalin in 1941, the decision was made by the British and American forces to delay an amphibious landing the on north west coast of Europe until 1943 when the Americans were better equipped and trained for opening up a successful second front against the Germans. The British petitioned for the Americans to enter into the Mediterranean operation instead, as British forces were already stationed there and it would reduce the burden on Britain to provide the majority of the military force, which would occur if the choice was made to invade via the northern coast of France.
Once the decision was ultimately decided to launch the aquatic landing in north west Europe at the Tehran Conference in late 1943, the delay in invasion had less to do with the size of the available army for the landing in France, but the shortage of materiel readily available for a new offensive following the African and Mediterranean campaigns. The shortage of landing crafts for new deployment caused the greatest issue as they were still committed to the actions in the Mediterranean and both Montgomery and Eisenhower insisted that the extra landing crafts were needed to expand the invasion forces up to five divisions, resulting in a delay that pushed the invasion into june of 1944.
Along with this shortage of materiel, the viable window for the operation was as small as 10 days each month due to the need for a full moon and the spring tides to aid the landing. This, coupled with the deteriorating weather in june of 1944, prevented the launching of the offensive from commencing until June 6th 1944.