1. A method of generating a check matrix for a low-density parity-check code in which at least one of weights of a column and a row are not uniform, the method comprising: determining a code length and a coding rate; determining the weights of the row and the column to determine a basic matrix that satisfies conditions that “the weights of the row and the column are constant” and “number of cycles is equal to or more than six”; selecting a maximum value of the weight of the column that satisfies a condition of “2<maximum value of the weight of the column≦number of 1s within columns in the basic matrix”; searching provisionally an ensemble of the weights of the row and the column weights of the low-density parity-check code via optimization based on Gaussian approximation in a state that number of the weights of the row are limited to continuous two kinds to determine an optimum set of the weights of the row; deleting the rows sequentially from a bottom of the basic matrix considering number of rows after a division; searching provisionally an ensemble of the weights of the row and the column of the low-density parity-check code via optimization based on Gaussian approximation, using the set of the weights of the row as a fixed parameter, to determine an optimum set of the weights of the column; searching an optimal ensemble of the weights of the row and the column of the low-density parity-check code via optimization based on Gaussian approximation, using the set of the weights of the row and the column as a fixed parameter; and dividing at random the weights of the row and the column of the basic matrix after deleting the rows in a predetermined procedure based on a final ensemble.