Descripción breve y dulce del desafío:
basado en ETAOIN SHRDLU , su desafío es escribir el programa o la función más corta en cualquier idioma que genere las 26 letras del alfabeto inglés en función de su frecuencia en la entrada.
Especificaciones realmente largas, secas y completas:
- Su programa / función recibirá como entrada una cadena de texto, que contendrá una o más letras mayúsculas y / o minúsculas y también puede contener signos de puntuación, números, símbolos y otros caracteres no alfabéticos.
- El programa / función debe generar solo las 26 letras MAYÚSCULAS del alfabeto inglés, incluidas las que no aparecen en la entrada, ordenadas de mayor a menor según la cantidad de veces que aparecen en la entrada.
- Editar: la frecuencia se calcula entre mayúsculas y minúsculas, pero la salida debe estar en mayúsculas.
- Si dos o más letras tienen la misma frecuencia, pueden estar en cualquier orden.
No se permite ninguna otra salida, como el espacio en blanco.- Editar 01/07/2014: Basado en comentarios, estoy modificando esta regla. El único otro resultado permitido es el espacio en blanco inicial y / o final opcional, como una nueva línea final. No se permite ninguna otra salida.
- Se permite un comportamiento indefinido para la entrada que no contiene ninguna letra.
El ganador será elegido dentro de 7 días, ¡así que escribe esos dedos!
Entrada de ejemplo:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vitae erat velit. Mauris gravida euismod libero ut tincidunt. Phasellus elit dui, consectetur et egestas in, aliquam vitae diam. Donec eget varius ante. Vestibulum cursus diam aliquet, egestas orci quis, placerat dolor. Proin vel nisi lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam erat volutpat. Etiam libero tortor, ornare id dui eget, posuere dignissim libero. Pellentesque commodo consequat volutpat. Integer hendrerit sapien libero, vel viverra augue facilisis sit amet. Quisque consectetur eget nisl quis dignissim. Ut lacinia pretium quam a placerat.
Morbi sed interdum risus, nec pretium lectus. Morbi imperdiet est id accumsan molestie. Duis sed fermentum nisl. Nunc vitae augue mattis, dictum lectus vel, accumsan nisl. Sed ultricies adipiscing rhoncus. Vivamus eu lacus a enim venenatis eleifend. Praesent consectetur tortor non eleifend ultricies. Mauris et odio posuere, auctor erat at, fringilla est. Proin in vestibulum erat. Maecenas congue commodo ante vel varius. Sed tempus mi ut metus gravida, nec dictum libero dapibus. Morbi quis viverra elit. Ut pharetra neque eget lacus tincidunt dictum. Fusce scelerisque viverra tellus et pretium.
Fusce varius adipiscing odio. Nulla imperdiet faucibus sem, at rhoncus ipsum adipiscing vitae. Phasellus imperdiet congue lacus et mollis. Nullam egestas mauris magna, et mollis lectus varius ut. Sed sollicitudin adipiscing dolor, vel elementum elit laoreet molestie. Aliquam nec nulla vel sem ultrices ullamcorper. Nullam nec felis magna. Duis sodales orci non justo aliquam tempus. Integer mi diam, tempor sed vulputate et, varius et nunc. Vestibulum sodales ipsum id mi pharetra, ut convallis mi accumsan. Sed dictum volutpat vestibulum.
Quisque ac dolor sagittis, aliquam libero at, euismod enim. Nulla ullamcorper posuere nulla vitae varius. Nam at dolor non libero elementum pellentesque in in lorem. Fusce porttitor turpis in quam placerat varius. Donec lorem orci, condimentum eu sapien sit amet, aliquet commodo magna. Quisque sed lectus sit amet arcu euismod accumsan et non nunc. Phasellus placerat congue metus, feugiat posuere leo dictum quis. Sed ultricies feugiat eros dignissim bibendum.
Mauris scelerisque consectetur libero eget varius. Aenean neque nunc, ullamcorper vitae orci in, auctor ornare sapien. Nam lacinia molestie imperdiet. Nam vitae mattis nibh. Vestibulum consequat tellus ac nisi sagittis pulvinar. Nullam mollis ornare quam, et venenatis leo porttitor sit amet. Nulla urna neque, dignissim non orci ut, volutpat ultrices erat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque vestibulum tellus nec eros faucibus porta.
Salida de ejemplo:
EITUSALNROMCDPVGQBFHJKWXYZ
Nota: hay un vínculo de 5 vías KWXYZ
para esa entrada.
Editar:
¡La competencia ha terminado! Gracias a todos los que participaron. Y ahora para el ganador (s): las respuestas de Dennis 'CJam y de Isaac Pyth llegaron a la friolera de 19 caracteres. (Lo siento, pero no voy a aceptar ninguna de las respuestas porque creo que sería injusto para la otra). Editar: Siguiendo el consejo de Dennis, voy a marcar su respuesta como aceptada porque fue la primera en llegar a 19 caracteres. Las menciones honoríficas van a la respuesta de Golfscript en tercer lugar de Ilmari Karonen en 22 caracteres, así como a la respuesta Python de 75 char de undergroundmonorail que obtuvo la mayor cantidad de votos. Una vez más, ¡gracias a todos los que participaron!