1. A method of programming a nonvolatile memory device, where the nonvolatile memory device has memory cells and each memory cell has one of first and second threshold voltage distributions, the method comprising: an initial data setting step of inputting data for program inhibition to a first latch of a page buffer to which memory cells to be programmed with the second threshold voltage distribution are coupled; a first program and verification step of performing program and verification operations; a first data setting step of, when a program pulse is supplied more than N times (where N is a natural number), inputting data for performing a program operation to the first latch of the page buffer to which the memory cells to be programmed with the second threshold voltage distribution are coupled; and a second program and verification step of performing program and verification operations.