How do you improve Pokemon happiness in Pokemon gold?

You can do this very easily just by leveling it up or feed it some expensive medicine like protein iron or so on and new haircut also helps in goldenrod underground.