A perfect square is an integer that equals some integer squared. For example, , so 16 is a perfect square. But 15 is not because is not an integer.
You can check if is a perfect square by computing and checking if it's an integer. In code: take the floor of the square root, square it, and see if you get back.
Perfect squares appear in number theory problems, geometry (area calculations), and dynamic programming. Let me show you a problem that uses this concept.