xam1816В том-то и дело, что мы ищем первую букву строки, после неё ищем вторую букву строки такую, перед которой есть цифра.
В этой строке первая цифра 1,далее ищем первую букву после цифры:
!#@ $,первая буква попавшаяся после цифры j,вторая k
Изначально указано (и было указано, я ничего не менял в этом плане), что правильный ответ там - буква j, а у тебя вывелась буква k.
Так что давай, делай правильно; потом посмотрим, правильно ли оно работает для любых последовательностей. Только после этого её можно будет оптимизировать (сокращать количество флагов, делать яснее и тому подобное). Не наоборот это делается.
Видишь, можно написать много чего красивого, потратить на это кучу времени, сидеть, выдумывать имена красивые, а работает оно в итоге неправильно.