스페인에서는 현재 번호판이 다음과 같은 패턴을 갖습니다.
1234 XYZ
여기서 XYZ는 전체 스페인어 자음 세트에서 가져온 세 자음입니다 ( 'Ñ'제외).
때로는 아내와 함께 여행 할 때 게임을하기 위해 사용합니다. 우리는 번호판을 볼 때 3 개의 자음을 취하여 번호판과 같은 순서로 나타나는 3 개의 자음을 포함하는 단어를 만들려고합니다. 예 (스페인어) :
BCD
BoCaDo (valid)
CaBezaDa (not valid)
FTL
FaTaL (valid)
FLeTar (not valid)
FTR
FleTaR (valid, wins)
caFeTeRa (valid, loses)
우승자는 마지막 예에서 볼 수 있듯이 가장 적은 수의 문자를 사용하는 사람입니다.
도전
단어 목록과 세 자음 세트를 수신하고 동일한 순서로 세 자음이 포함 된 가장 짧은 단어를 목록에서 찾는 가장 짧은 프로그램 또는 함수를 작성하십시오. 이 게임의 목적 상, 사건은 중요하지 않습니다.
- 단어 목록 (첫 번째 매개 변수)의 입력은 언어
string
유형 의 배열이됩니다 . 두 번째 매개 변수 (세 개의 자음)는 다른 것string
입니다. 언어가 더 좋으면string
세 자음과 함께 전체 매개 변수 목록의 마지막 항목을 고려하십시오 . 출력은 또 다른 것string
입니다. - 단어 목록의 단어는 발명되거나 무한한 단어가 아니며 표준 사전에 나타나는 단어입니다. 제한이 필요한 경우 단어 목록의 단어가 50자를 초과하지 않는다고 가정하십시오.
- 길이가 같고 유효한 답이 될 수있는 단어가 여러 개 있으면 그 중 하나를 반환 할 수 있습니다. 세 자음의 패턴과 일치하는 단어가없는 경우 한 단어 만 반환하거나 빈 문자열을 반환하십시오.
- 세 개의 자음에 대한 유효한 입력이 모두 그래서 당신은 그룹에 자음을 반복
FLR
하고GGG
. - 스페인어 자음은 영어와 정확히 동일하며 "Ñ"가 추가됩니다. 모음은 "áéíóúü"라는 강조된 모음의 표현과 동일합니다. "-"또는 " '"와 같은 다른 종류의 마크는 없습니다.
- 단어 목록과 세 자음 모두에서 대소 문자가 항상 같다고 가정 할 수 있습니다.
실제 스페인어 단어 모음으로 알고리즘을 테스트하려면 백만 개가 넘는 단어가 포함 된 Dropbox에서 파일 (15.9MB)을 다운로드 할 수 있습니다 .
테스트 사례
Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'}
Output: 'repasar'
Input: 'dsd', {'dedos' 'deseado' 'desde' 'sedado'}
Output: 'desde'
Input: 'hst', {'hastío' 'chest'}
Output: 'chest'
이것은 code-golf 이므로 아내가 항상이기는 것을 돕는 가장 짧은 프로그램 일 수 있습니다! :)