Есть 8 австралийских штатов и территорий, каждый с 2 или 3 буквенными сокращениями:
- ACT: Австралийская столичная территория
- Новый Южный Уэльс: Новый Южный Уэльс
- NT: Северная территория
- QLD: Квинсленд
- SA: Южная Австралия
- ТАС: Тасмания
- ВИК: Виктория
- WA: Западная Австралия
Ваша задача - написать функцию / программу, которая принимает действительную аббревиатуру штата Австралия в верхнем регистре и возвращает правильное полное имя (с учетом регистра, как указано выше).
Не допускается никаких дополнительных пробелов, кроме одного завершающего символа новой строки, где это является неизбежным побочным эффектом каждой программы на этом языке.
Например:
f("TAS") => "Tasmania"
стандарт Код-гольф применяются правила (самый короткий код в байтах!) и лазейки.
code-golf
kolmogorov-complexity
Стив Беннетт
источник
источник
Ответы:
Сетчатка ,
135121 байт13 байтов играли в гольф благодаря @Neil, используя хитроумную тактику вставки пробела, которая вдохновила на игру еще один байт
Попробуйте онлайн!
Обратите внимание на пробелы в четвертой и последней строках.
источник
AS
наasmania
first, то вы можете заменить все оставшиесяA
s наAustralia
.\B[A-Z]
бы сэкономили два байта.)Желе , 56 байт
Монадическая ссылка, берущая и возвращающая списки символов.
См. Все случаи в Попробуй это онлайн!
Примечание. Повторное использование слов «Австралия» и «Территория» не помогает уменьшить количество байтов.
Как?
Взяв сумму ординалов восьми сокращений штатов по модулю 15, получаем 8 уникальных значений. Взятие результатов этих по модулю 9 сохраняет уникальность.
источник
Haskell,
193192 байтаНесколько наивное решение, но я хотел сделать довольно простой вызов для своего первого. Я даже не уверен, возможно ли лучшее в Хаскеле.
Сохранение байта путем перемещения пространства в т
источник
Mathematica, 177 байтов
Очевидное решение: (199 байт)
Улучшенное решение: (182 байта, работает только на моем компьютере Wolfram Mathematica 10.2)
Лучшее решение:
К сожалению повторюсь
" Territory"
может сохранить только 0 байтов.Кажется, что стандартная хеш-функция Mathematica меняется на версии. Но добавление метода сделает код длиннее. Использование функции Hash по умолчанию в изолированной программной среде Mathematica теперь позволяет сократить код примерно на 9 байт.
Mathematica (песочница - сейчас - версия 11), 168 байт
источник
Python, 181 байт
1 байт сохранен благодаря Джонатану Аллану
Попробуйте онлайн!
источник
t=' Territory'
должен сохранить байт я думаю.Sed,
167157 байтисточник
ern
, но это стоило больше, чем сэкономило всего за два раза.PHP,
148143 байтаСохранено 5 байтов благодаря Jörg Hülsermann .
источник
C # , 289 байт
Данные
String
s
Сокращение штата.String
Расширенное имя состоянияGolfed
Ungolfed
Ungolfed читабельный
Полный код
релизы
289 bytes
- Исходное решение.Ноты
источник
(string s)
может быть простоs
, вы можете использовать неявный возврат:s=>new System....
и вы можете удалить конечную точку с запятой.Rexx (Regina) ,
148147 байтПопробуйте онлайн!
источник
JavaScript (ES6), 167 байт
Показать фрагмент кода
источник