А что имел ввиду Валерий - давайте спросим у него
Я увидел задачу, напоминающую учебную, и предоставил схему её решения. Времени я на неё потратил больше, чем Vlad, но недостаточно, чтобы уверенно сказать, что она работает. Для этого понадобилось бы ещё некоторое количество времени. Ещё несколько человек предоставили свои варианты решения. После этого началось решение задачи "что лучше". Я не называю своё решение лучшим. Я согласен, что зачастую следует использовать стандартные библиотеки. Но выбор лучшего алгоритма - это другая задача.
Поскольку, как я считаю, целью было получение схемы, то я не сделал ошибок. Вы сказали, что мои ошибки что-то показывают. Но в исходной задаче решение было у меня в голове, а код - это реплика, с помощью которой я хотел передать решение. В устной речи бывают оговорки, и если собеседник замечает неточность, то он акцентирует на ней внимание, чтобы говорящий добавил в свои слова определённость.
Поскольку задача имела черты учебной, то я решил немного по этому поводу высказаться. Почему, собсна, sort() лучше? С чего Vlad взял, что решением будет она, а не "i++; println();"? Потому-то она и учебная, что ученик должен понять, что здесь будет решением. А отвeт "правильно будет использовать sort()" или "... подсчётом", как я уже говорил - это решение другой задачи. Важной для инженера, да, но не сейчас.