The question boils down to which verbal expression you’re using. *Denken* has two possible extensions: *etwas denken* or *an etwas denken.* With demonstrative pronouns, these two expressions become:

> Ich habe das gedacht.

or

> Ich habe daran gedacht.

*Etwas denken* translates pretty well to *to think something,* where *something* is typically a subordinate clause of some sort. Like in your first example sentence which would translate to:

> Ich habe gedacht, dass es in der Stadtmitte einen Zoo gibt.

*An etwas denken* typically translates to *to think **about** something,* typically a noun. So you could build a sentence:

> Ich habe *an den Zoo* gedacht.

Your question obviously asks for the first of these two constructions. If you transform the subordinate clause into a pronoun, that pronoun has to become a simple *das.*

> Ich habe **das** gedacht.

If you want to replace *an den Zoo* from the second sentence by a pronoun, that one needs to be *daran* — or *an das* in very informal, colloquial usage. Stick with *daran,* though.

> Ich habe **daran** gedacht.

Idiomacity is a bit tricky in this case, since thinking *about* something is so much more common than merely thinking something. Hence why somebody probably thought you wanted to say the other thing. But if you were referring to a thought as present in a subordinate clause, it has to be *das,* no other options.

---

The same thing is true about *finden,* except that there is no *\*an etwas finden,* and that the figurative meaning of the verb overlaps with the literal one. As such, I would deem a sentence with *finden* in that meaning to be not quite as idiomatic, since the second meaning can unintentionally shine through. But if context is clear enough, you can use it:

> A: Ich finde, dass dein Chef ein netter Mensch ist.

> B: **Das** finde ich auch.  
> (Word order changed from ‘Ich finde das auch’, because this emphasised version sounds more natural here.)