Цей конкурс закінчився.
Переможець - CJam з 22 символами, обігравши відповідь TwiNight одним персонажем. Вітаємо Деннісе !
Почесна згадка йде про Фалько , який абсолютно без розуму пішов від безкоштовного імпорту.
.
Нещодавно я хотів дізнатися, як я можу набрати сучасні смартфони з моєю Nokia 3310, і хоча деякі відповіді були справді хорошими, я все ще не можу йти в ногу! Можливо, я повинен використовувати інший підхід і просто не писати жодних слів, які незручно набирати.
Ми будемо називати фрагмент тексту, який легко вводиться, якщо на одній кнопці на клавіатурі телефону немає двох літер поспіль, які мають стандартний макет:
Ваше завдання
Ваше завдання полягає в тому, щоб написати програму / функцію, яка приймає рядок s
від stdin / як параметр і повертає значення truthy, якщо s
його легко набрати, а в іншому випадку помилкове значення. Вхід буде складатися лише з малих літер та пробілів і гарантовано буде не порожнім!
Оцінка балів
Це кодогольф, тому виграє найменший кількість символів.
Заяви на імпорт не будуть зараховані ваш остаточний рахунок, так що якщо ви коли - небудь хотіли використовувати std::set_symmetric_difference
, liftM4
або itertools.combinations
в вашому коді, зараз саме час!
-3 якщо ваш вихідний код легко набрати, якщо припустити, що все, що не є літерою, є на кнопці 0. Зрештою, я можу захотіти надіслати ваш код деяким друзям!
Тестові шафи
Ось кілька тестів, щоб перевірити, чи працює ваш код за призначенням:
"x" -> True
"aardvark" -> False
"ardvark" -> True
"flonk" -> False
"im codegolfing all day long" -> False
"i indulge in minimizing bytecount" -> True
"havent heard from you in a long time" -> False
"your silence was of undue permanence" -> True
"how are you" -> False
"how are you" -> True
Щасливого гольфу!