The solution your teacher suggested is not what you were trying to express... or at least I think so.
As I understand your original sentence you wanted to ask this question:
Why did the allies divide Germany?
Now, they can either do that because Germany is already weak or they can do it because they want to weaken it. Those are 2 different things (cause and effect reversed) and the answer should reflect that.
Das Schwächerwerden Deutschlands war ein Grund für die Teilung.
This doesn't. It sounds as if Germany eventually (was) split partly because it was weakening. It does not express that Germany was split IN ORDER TO weaken it.
Hence, your teachers suggestion is wrong. Same goes for "die Schwächung Deutschlands". This is still ambiguous as to what happened first.
Your original sentence nicely captured that the weakening was inflicted upon Germany because of the nominalization of the transitive verb schwächen. The only problem is that nominalizations often sound a little stiff so you could either go for the following
Deutschland zu schwächen war einer der Gründe aus dem Deutschland gespalten wurde.
But an even better choice would be to replace Grund by Ziel for that clearly communicates what is cause and what is effect.
Die Schwächung Deutschlands war eines der Ziele der Spaltung des Landes.
Deutschland zu schwächen war eines der Ziele seiner Spaltung.