Буквы слов хотят справедливости.
Они решили появляться в предложении одинаково количество раз одинаково.
Пример:
Priorities
Станет:
Ppprrioooritttieeesss
Каждая буква появляется 3 раза, как и самая обычная буква i
, появляется 3 раза.
Неважно, куда вы положили повторяющиеся буквы, если они находятся рядом с аналогичной буквой.
То есть:
Pppriooorritttieeesss
все в порядке (буква 'r')
Ppprioororitttieeesss
не в порядке (буква «р»)
Другой пример:
invoice
Станет:
innvvooiccee
Другой пример:
Remittance Advice
Станет:
Rrremmmiitttaannncce Adddvvvice
Пробел, запятая, вопросительный знак, цитата и т. Д. Не считаются буквами для этой задачи. Нужно только рассмотреть [a-zA-Z]. Достаточно только одного места, и порядок букв должен оставаться прежним.
Заглавные буквы не имеют значения, верхний и нижний регистры считаются одной и той же буквой. То есть: Pip
имеет 2 «P» и 1 «I», поэтому он станет Piip
.
Это нечувствительные к регистру буквы могут быть в любой форме, Piip=piip=piiP=PiiP
Это код-гольф
источник
Ответы:
05AB1E , 16 байтов
Попробуйте онлайн!
объяснение
источник
R , 106 байт
Попробуйте онлайн!
Базовый подход R:
+
оператором Rисточник
Perl 6 , 82 байта
-3 байта благодаря nwellnhof
Попробуйте онлайн!
Принимает изменяемую строку и изменяет ее на месте.
Объяснение:
источник
.=
оператора какa.=lc.=subst(...)
. Я не уверен, разрешено ли изменять регистр существующего письма. Также<:L>
вместо<:Ll>
.JavaScript (ES6), 112 байт
Попробуйте онлайн!
комментарии
источник
o[l] = // updates o[l] to a non-numeric value
. Если я правильно понимаю,o
это целый-массив вF
иg
функции, но изменения в строке-массив , содержащий один или несколько раз больше символовc
в части я упоминал ранее? Кроме того , я предполагаю , что значенияo
являютсяundefined
по умолчанию, так как вы используетеo[l]=-~o[l]
вместо++o[l]
?o[l]
до буквы любая последующая итерация с той же буквой приведет кm - o[l] --> NaN
(целое число минус буква) иl.repeat(NaN) == ''
. (О последнем пункте: да, это правильно.)J ,
335646 байтПопробуйте онлайн!
Не удалось найти способ избежать использования
~:tolower
дважды.Как это устроено
источник
R + stringr, 108 байт
Я не очень хорошо
stringr
. Возвращает смесь нижнего и верхнего регистров, так как вопрос говорит, что это не имеет значения.Попробуйте онлайн!
объяснение
источник
К4 , 35 байт
Решение:
Примеры:
Объяснение:
Может быть игра в гольф с другим подходом, будет продолжать думать
источник
Древесный уголь ,
3332 байтаПопробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
источник
Java 11,
190176162 байта-14 байт благодаря @Nevay .
Вывод в верхнем регистре.
Попробуйте онлайн. (ПРИМЕЧАНИЕ:
String.repeat(int)
эмулируется какrepeat(String,int)
для того же подсчета байтов, потому что Java 11 еще не на TIO.)Объяснение:
источник
char
вы имеете в виду? К сожалению нет.var
может использоваться только для отдельных полей. Так что вместоchar m=1,i=127,a[]=new char[i];
этого будетvar m=1;var i=127;var a=new char[i];
. Вот полезный совет о том, что вы можете и не можете делать с Java 10var
. (Я мог бы заменитьint
цикл вvar
, но количество байтов осталось бы прежним.)var
. И Java 11 почти не имеет изменений во всех связанных с Codegolf, за исключениемString.repeat
метода, который я уже использовал множество раз. Он также имеет новыеString.stripLeading
илиString.stripTrailing
, которые действуют как,trim
но только начальные / конечные пробелы, иString.isBlank()
такие же, какString.trim().isEmpty()
(только пустые или пробельные).s->{s=s.toUpperCase();char m=2,i=91,a[]=new char[127];for(int c:s.getBytes())m-=m+~++a[c]>>-1;for(;i-->65;)s=s.replaceFirst(i+"",repeat((i+""),m-a[i]));return s;}
Japt
-h
, 27 байт-3 байта из @ETHproductions
Пытаюсь объяснить
Попробуйте онлайн!
источник
ú
Трюк гениален, кстати :-)ñ oC ó¥
, хотя это требует добавления обратно в;
...ñ
работал на струнах ?! @ETHproductions, пожалуйста, скажите мне, что это недавнее дополнение, и я не пропускал его все это время!Рубин , 89 байт
Попробуйте онлайн!
Я пробовал разные подходы, но что действительно экономит много байтов, так это добавление одного символа за раз.
Как:
источник
Powershell 6, 123 байта
Он использует диапазон символов
'a'..'z'
. Смотрите скрипт для предыдущего Powershell ниже.Пояснил тестовый скрипт:
Выход:
Powershell 5.1-, 133 байта
источник
Красный , 252 байта
Попробуйте онлайн!
Смешно длинное решение ...
Объяснение:
источник
JavaScript (Node.js) ,
140137 байтПопробуйте онлайн!
+33 байта от моего первого решения для тех бесконечных дополнительных ограничений. JS отстой при независящих от регистра манипуляциях со строками, которые вы знаете.
-3 байта назад Спасибо @Арнаулд.
объяснение
источник
f
s как временное хранилище, поэтому я подумал, что все в порядкеmap()
Функции обратного вызова безопасны для хранения, потому что они определены в локальной области видимости. Использование основной функции, которая определена глобально, более опасно. Здесь вы можете использовать обратный вызов первогоmap()
, который возвращает вас к 137 байтам .Шелуха , 15 байт
Попробуйте онлайн!
Грубая сила, поэтому очень медленно.
объяснение
источник
Perl 6 ,
7770 байтПопробуйте онлайн!
Подход GB к вставке символа, пока все символы не появятся одинаковое количество раз. Получает строку, которая изменена на месте.
Если подчеркивания можно рассматривать как буквы, то регулярное выражение может стать
/\w/
, сохраняя два байта.объяснение
источник
{*}
хитрость..value(s)
этого? Опрятно, возможно, мне придется обновить некоторые из моих старых решенийPython 2 ,
97117 байтПопробуйте онлайн!
источник
C (лязг) ,
246223220210208193188 байтФлаг компилятора
-DF=;for(i=0;b[i];i++
-DB=b[i]
(29 байт)Добавлена поддержка смешанного регистра.
Попробуйте онлайн!
источник
Pyth,
3130 байтПопробуй здесь
объяснение
источник
C (GCC) - 175 байт
Ungolfed
Попробуйте онлайн!
источник
Котлин Андроид, 413 байт
Попробуй онлайн
Пояснение шаг 1 -> Выбрать список отдельных символов. Шаг 2 -> Получить счетчик каждого символа в строке и выбрать максимальную частоту символа. Шаг 3 -> получить разницу в частоте символов по отношению к максимальной частоте символа. Шаг 4 -> Поместить символы в позиции в строке. Счастливого Решения!
источник
C # (интерактивный компилятор Visual C #) , 145 байт
Попробуйте онлайн!
источник
PHP ,
185173170 байтПопробуйте онлайн!
Ungolfed (и нетернаризованный и неоптимизированный).
источник