1. A method of operating a semiconductor memory device, the method comprising: performing a first program operation to simultaneously increase threshold voltages of memory cells having different target levels to sub-levels lower than the different target levels; verifying the memory cells by using different verify voltages, respectively; performing a second program operation to divide the threshold voltages of the memory cells; and performing a third program operation to increase the threshold voltages of the memory cells to the different target levels, respectively.