Let's look at what most Discrete Math courses cover (at least in the United States): 1)Logic/Proofs, 2)Combinatorics and Graph Theory. I will go into some details on each, as well as recommending books solely on each topic, and then presenting some that cover all.
1)Logic/Proofs: So, many Discrete Math courses begin with an overview of both symbolic logic, and/or proof methods. A book for logic can be found here for free
here. I haven't read it personally, but it is supposedly pretty good. Apparently Dr. Suppes is from the philosophy department at Stanford, and this is apparent in the notation he uses in the book

(a logic text from a mathematician may more likely use typical Boolean connectives for notation). You may not have to read the entire thing, but it would be important to know the following: sentences, connectives, truth tables, converting statements to symbols and back, quantifiers, column proofs, proof by contradiction, conditional proofs, etc. That could cover Symbolic logic. Now, when you read a book on symbolic logic as a math student, you may not
entirely see how it would apply to mathematics, etc. That's why it would also be really advised to find a book on proofs. A free one that also happens to be very good is
Book of Proof, which I'll link
here. This book, and mathematical proof books in general, contain some logic, but won't go nearly as deep into it as a symbolic logic book.
2)Combinatorics and Graph Theory: Next comes combinatorics. Topics here include counting principles, permutations,recurrence relations,generating functions, and marriage problems. The book I used is
Combinatorics and Graph Theory by Harris, et al. It's good, and though it feels a little lighthearted and conversational, can be a little challenging to follow even in it's proofs. There is also no solutions guide. As suggested in the title, it also covers Graph theory, and actually covers it first. Despite going over both, and being as long as other such math books, it does cover a good amount of typical material there. A pretty good book that is free is this
one. As the title suggests, it is a guided discovery book, which is a really powerful way to learn. You may want to actually use this book instead of the former one, since the whole idea is centered around self study, and you could always ask either a professor, or on this site for any questions you may have or can't figure out. It also covers some graph theory (and again, free!)! If you use either of the top books you may not need to go much further in graph theory (unless you end up liking it).
3)All: There are some books that cover the above subjects in one. One in particular are these free https://www.seas.harvard.edu/courses/cs20/MIT6_042Notes.pdf, which actually seem pretty good, I mean, it was intended for MIT students!
