No your solution is not wrong. But try to multiply correctly.
Bandwidth Delay pdt = 40000
System is sending 2000*8 = 16000 bits
Efficiency = (16000/40000) *100 = 40%
In my given solution, majority of books neglect the transmission time in denominator,
That is they just calculate Tt/2Tp = 8/20 = 0.4 = 40%
So either way you can do. But to be accurate it should be 28.57%.