Can admirable characters get it wrong?
What's the easiest way to make a character seem smart?
Show the character understanding something the reader knows, but that the rest of the people in the narrative don't. An ancient doctor understands sterilization. A politician in 1913 Great Britain knows that a hugely destructive world war is just around the corner. One character knows another is going to die because of a dream, or a portent, or something his grandmother once said. The hero knows what is going to happen because of an ancient prophecy, and only fools ignore ancient prophecies.
Note that I said "easiest" way, not "best". This technique is the opposite of dramatic irony, where the reader knows more about what's happening than the characters do. In science fiction, in fact, the main character often not only knows more than the other characters, he knows more than the reader, and, when you look at it strictly, than the writer. I don't know what the rhetorical term for this type of negative irony is. I just know there is way too much of it.
No one knows the future. That fact is easy to forget, once it's the past. Then even fools know it.
To show a character being intelligent, you have to show that character...thinking. Taking pieces of evidence available to the reader and the other characters, putting them together in a new configuration, and formulating plans based on that. The actions the character takes may turn out badly--one can only play the odds. There are no guarantees. In fact, showing a character make a plan, have something go wrong because of unanticipated circumstances, and then rework the plan to take those circumstances into account is showing a truly intelligent character.
Now add other intelligent characters trying to achieve their own goals, and you have something like literature.