팬 그램은 모든 문자를 포함하는 문자열입니다 a
- z
영어 알파벳 대소 문자를 구분하지의. (팬 그램에 하나 이상의 문자 사본이 있거나 문자 외에 문자 이외의 문자가 포함되어 있으면 괜찮습니다.)
입력이 문자열 목록이고 다음 특성을 가진 하나 이상의 문자열을 출력하는 프로그램 또는 함수를 작성하십시오.
- 각 출력 문자열은 팬 그램이어야합니다.
- 각 출력 문자열은 입력 목록에서 하나 이상의 문자열을 공백으로 구분하여 연결해야합니다.
- 이러한 속성을 가진 모든 문자열 중에서 각 출력 문자열이 가장 짧거나 가장 짧아야합니다.
많은 프로그램이 하나의 문자열 만 출력하도록 선택합니다. 출력을 제한하기 위해 추가 코드를 작성해야하는 경우 하나 이상의 문자열 만 출력하려고합니다.
입력에 인쇄 할 수없는 문자 나 공백이없고 입력 된 단어가 (길이의 자연 로그의 26 배)보다 길지 않다고 가정 할 수 있습니다. 그러나 입력에 문자 만 포함하거나 소문자 만 포함한다고 가정하지 않아도됩니다. 문장 부호와 대문자는 모두 가능합니다.
입력 및 출력은 합리적인 형식으로 제공 될 수 있습니다. 프로그램을 테스트하려면 두 가지 테스트 사례를 사용하는 것이 좋습니다. 영어 단어 사전 (대부분의 컴퓨터에는 하나가 있음)과 다음 경우 (완벽한 (26 자) 팬 그램이 불가능하므로 하나를 찾아야합니다. 중복 문자 포함) :
abcdefghi
defghijkl
ijklmnop
lmnopqrs
opqrstuvw
rstuvwxyz
제출 한 내용과 함께 프로그램 출력 샘플을 포함해야합니다. (다른 단어 목록을 사용한 결과 사람들마다 다를 수 있습니다.)
승리 조건
이것은 복잡성 이 제한적인 코드 골프 과제입니다. 승자는 다항식 시간으로 실행되는 가장 짧은 프로그램 (바이트)입니다 . (이것이 무엇을 의미하는지 모르는 사람들을위한 요약 : 단어 목록의 크기를 두 배로 늘리면 프로그램은 상수 요소만큼 느려 져야하지만 문제가되는 상수 요소는 사용자만큼 클 수 있습니다. 예를 들어, 단어 목록의 길이에 의해 4 배 느리거나 8 배 느리지 만 유효하지는 않지만 유효하지 않은 요소는 제한되어야합니다.)