'x' и 'o'? Вроде бы нет, ничего такого в тексте вопроса я не видел (по крайней мере, на момент перед публикацией своего ответа). Так что дополнительные телодвижения, направленные на предотвращение ошибок при наличии мусорных значений в строке нужны в любом случае.
Скорость такого кода O(n^3n)
Ещё одни важный нюанс - обернуть код в функцию.
Это не проблема, просто задание...