이게 단어 일까?


54

4 자 문자열을 입력으로 사용하고 문자열이 영어 단어인지 여부를 나타내는 값을 출력하는 프로그램 또는 함수를 작성해야합니다. 제공된 테스트 케이스의 15 %에서 실수를 할 수 있습니다.

입력 세부 사항 :

입력은 소문자 영문 (az) 만 포함하는 4 자 문자열입니다.

출력 세부 사항 :

입력 영어 단어이면 부울 true또는 정수를 출력해야 합니다 1.

입력 영어 단어 가 아닌 경우 부울 false또는 정수를 출력해야 합니다 0.

단어 목록

4 글자 영어 단어 목록 (2236 단어)

4 자리 단어가 아닌 문자열 (2236 문자열) 목록

비 단어 목록에는 균일하게 무작위로 생성 된 문자 시퀀스가 ​​포함되어 있으며 실제 단어는 제거됩니다.

테스팅

귀하의 프로그램이나 기능은 주어진 단어 목록에서 15 % 이하의 실수를해서는 안됩니다. 즉, 4472 제공 입력 중 670에 대해 잘못된 출력을 제공 할 수 있습니다.

다른 사람들이 답을 확인할 수 있도록 테스트 프로그램이나 기능을 게시해야합니다. 시험 프로그램의 길이는 제출 점수에 포함되지 않습니다.

표준 허점 은 허용되지 않습니다.

프로그램은 웹에 액세스하거나 파일에서 읽는 것과 같은 외부 소스를 사용해서는 안됩니다.

이것은 코드 골프이므로 가장 짧은 프로그램이나 기능이 승리합니다.


4
해당 배열은 코드의 일부 여야합니다. (나는 추측한다). @randomra-어디에서나 단어 목록을 읽거나 액세스 할 수 없다는 점에주의하십시오.
Optimizer

3
@BryanDevaney 당신은 목록의 85 %를 하드 코드해야합니다
dwana

1
@TeunPronk 예.
randomra

2
@Sparr 이 질문
Sp3000

5
" 이것은 단어 일까?" 예. [<-4 문자]
chucksmash

답변:


62

루비, 29 바이트

->s{!s[/[^aeiou]{3}|[jqxz]/]}

잘만되면 나는 이것이 맞았다-그것은 Ruby에서 처음으로 프로그래밍 한 것이다. 나는 실제로 모든 테스트를 파이썬으로 수행했지만 import re너무 길었습니다.

이것은 익명 함수이며 문자열을 받아서 true/false그에 따라 출력 합니다. 다음 두 가지 중 하나를 찾는 정규식을 사용합니다.

  • 연속 세 자음
  • 중 하나를 포함 jqxz

이들 중 하나가 존재하면 입력을 단어가 아닌 것으로 분류합니다.

이 함수는 2030 단어 (206에서 잘못 실패)와 일치하고 1782 개의 비 단어 (정확하게 454 일치)에서 실패하여 총 660 개의 잘못 분류됩니다. ideone에서 테스트했습니다 .

Ruby의 도움을 주신 @ MartinBüttner에게 감사합니다. Martin은 또한 전체 프로그램이 동일한 바이트 수를 사용한다고 지적합니다.

p !gets[/[^aeiou]{3}|[jqxz]/]

또한 정규식을 단순화 한 user20150203 덕분입니다.


루비, 1586 1488 1349 1288 1203 바이트

보너스를 위해 훨씬 긴 정규 표현식이있는 함수가 있습니다.

->s{!s[/[^aeiouyhs]{3}|[^aeiouy]{4}|q[^u]|^x|^[bdf][^aeioulry]|^[cgkprtwy][mfdsbktjgxpc]|^a[aoz]|^e[hf]|^i[ea]|^o[ecy]|^u[^ltnspgr]|[bdgktyz][cgmpw]$|[fhpvx][^aieoflnrsty]$|eh$|i[iyh]|[wkybp]z|[dghz]t|[fjzsv]y.|h[ns].|ae.|y.?[yifj]|[ejo]..[iuw]|[inv]..[gpuvz]|[eu].[jqwx]|[vyz][^t][fhmpqy]|i[^ae][fjqrv]|[ospen].?j|[ceg][iuy][ghkoux]|[bcpx]f|[hnuy]w|[ghnw]b|[txz]n|[jk]r|.[fjuyz]u|[hnt]ia|lsy|.p.o|.l.l|.tas|zal|f.p|eeb|wei|.sc.|.pl|yat|hov|hab|aug|v.re|aba|ohu|ned|s.dd|uc$|nux|oo$|dgo|lix|wua|v.o|vo$|ryo|wue|dk|oic|yol|.tr|yrb|oba|ruh|c.ls|idd|chn|doy|ekh|tk|lke|asl|cir|eez|asc|uil|iou|m..p|awt|irp|zaa|td|swk|ors|phe|aro|yps|q.e|ati|ibt|e.mo|we.y|p.de|ley|eq|tui|e..g|sps|akh|dny|swr|iul|.t.t|.tao|rcy|.p.y|idi|j.o|.kl|oms|ogi|jat|.lis|mye|uza|rsi|.ala|ibo|ipi|yaa|eun|ruy|wog|mm$|oex|koi|uyn|.hid|osc|ofe|w.op|auc|uzy|yme|aab|slm|oza|.fi|bys|z.e|nse|faf|l.h|f.va|nay|hag|opo|lal|seck|z.b|kt|agl|epo|roch|ix.|pys|oez|h.zi|nan|jor|c.ey|dui|ry.d|.sn|sek|w.no|iaz|ieb|irb|tz.|ilz|oib|cd|bye|ded|f.b|if$|mig|kue|ki.w|yew|dab|kh.|grs|no.t|cs.|.n.m|iea|y.na|vev|eag|el[uz]|eo[dkr]|e[hlsu]e|e[dho]l|eov|e[adp]y|r[grt]u|yn[klo]|.[^ilv].v|s[bdgqrz]|m[dfghrz]|[vpcwx]{2}|^[hjlmnvz][^aeiouy]|^[drw]l|l[hnr]/]}

나는 정규 표현식이 여전히 압축을 이길 수 있음을 보여주고 싶기 때문에 주어진 모든 경우를 올바르게 분류합니다 . 정규 표현식 자체는 지수 붕괴와 비슷합니다. 첫 번째 비트는 많은 비 단어와 일치합니다. 그런 다음 마지막 비트는 포기하고 끝까지 나머지 (약 200 정도)를 연결할 때까지 점점 줄어 듭니다. 남겨진 것들 중 일부는 놀라 울 정도로 실제 단어 (예처럼 보였다 chia있는가 이다 단어).

나는 또 다른 도전을 위해 쓴 내 정규식 골프 청소기에서 정규식을 던졌습니다. 수동으로 물건을 섞어 놓기 전에 약 300 바이트가되었습니다. 그래도 여전히 골프를 치러야 할 부분이 있습니다.


1
user20150203 (코멘트 할 수있는 담당자를 결여)는 I 거부 편집에 다음과 같은 제안 이 논의를 기반으로 : 명성 않고 새 사용자가 "편집 : ->s{!s[/[^aeiou]{3}|[jqxz]/]}만 29 바이트가 2030 개 단어를 (잘못 206에 실패) 일치하고 1,782 비에 실패합니다 -660 개의 잘못 분류 된 단어 (454와 잘못 일치 함)
Martin Ender 2019

이상하다 v. 잊어 버린 각 문자를 제거하는 것으로 테스트했다고 생각했다 . 감사합니다 user20150203!
Sp3000

@ Sp3000 정규식을 사용할 수있는 권한을 본인에게 부여합니까? 나는 당신에게 평판을 주며 (가능한 경우) 모든 크레딧이 답변에서 지적 될 것입니다.
Ismael Miguel

@IsmaelMiguel 정규 표현식 일치 함수를 작성하는 것이 훨씬 짧은 언어입니까? 그렇다면 내가 조금 호기심이
많다는

@ Sp3000 짧지 않습니다. 그러나 나는 단지 뭔가를 게시하고 싶습니다. 어쨌든 여기에 아무것도 게시한지 오래되었습니다. 그리고 그것은 나의 지식을 조금 확장시킬 것입니다. 그래서, 그것은 상생의 상황입니다. 그리고 가능한 경우, 당신에게 평판을 줄 것이므로, 그것은 당신에게도 승리입니다 (아마도).
Ismael Miguel

13

그루비, 77 74

x={it==~/^(?!.+[jq]|[^aeiou][^aeiouhlr]|.[^aeiouy]{3}|.[x-z])|^s[cknptw]/}

Java로 테스트 프로그램을 작성했으며 Github의 Gist 에서 찾을 수 있습니다 . 내 테스트 프로그램의 출력은 다음과 같습니다.

Good: 2135 1708
Bad: 101 528

(629 개의 테스트 사례 실패)

추신 : 나는 이것이 곧 정규식 골프 문제를 끝내게 될 것이라고 생각합니다 ...

경우 SP3000의 대답 (함수) 그루비로 변환하는 것입니다, 같은 글자 수와 함께 종료됩니다. 명명 된 기능으로 :

x={it!=~/[^aeiou]{3}|[jqxz]/}

또는 명명되지 않은 기능 :

{i->i!=~/[^aeiou]{3}|[jqxz]/}

그것은 단지 335 건을 실패 할 수 있지만;) 여전히 깔끔하다
Teun Pronk

이것은 너무 잘못
느꼈지만

@TunPronk : (2236 + 2236) * 0.15 = 670.8. 비 단어를 올바르게 분류하는 것에 대해 잊어 버린 것 같습니다. "귀하의 프로그램이나 기능은 주어진 단어 목록에서 함께 15 % 이상의 실수를해서는 안됩니다 ." (강조 광산)
닐 슬레이터

@ NeilSlater Aah, 예, 나는 올바른 것을 고려했습니다. 내 나쁜 ^^
Teun Pronk

9

자바 스크립트, 1626 바이트 :

나는 각 캐릭터에 대해 어떤 캐릭터가 나올지에 대한 단서가있는 해결책을 찾고 싶었습니다. 그렇게 짧지는 않지만 정규 표현식과 상당히 좋은 결과는 없습니다 (단어 : 101 실수, 비 단어, 228 실수)

v=function(w){var g={a:{b:3,c:4,d:4,m:6,f:1,r:14,g:4,i:6,x:2,k:2,l:10,n:12,s:6,p:4,t:7,u:2,v:3,w:3,y:3,h:1,z:1},b:{b:3,a:19,e:19,y:3,l:6,o:17,u:12,i:9,s:9,r:6},e:{d:7,l:8,t:4,s:10,n:11,e:10,r:10,c:2,x:2,w:4,a:13,f:1,p:2,g:2,v:1,b:1,m:3,u:1,i:1,k:1,y:2},l:{e:16,y:5,a:16,b:1,f:2,l:12,m:2,o:14,p:1,s:2,u:8,d:4,i:10,k:3,t:5},o:{s:7,g:3,e:3,k:3,n:10,m:4,p:5,w:6,b:3,c:2,t:6,a:5,d:5,h:1,i:2,l:8,o:9,r:8,u:4,y:2,v:2,z:1,f:2,x:1},u:{t:8,e:5,m:7,s:11,a:2,n:13,r:15,d:6,c:4,f:1,g:5,l:9,y:1,z:1,b:5,j:1,x:1,p:2,k:1,i:2},c:{e:9,h:12,i:2,r:6,t:3,o:20,k:15,a:16,l:6,u:8,y:1},h:{e:21,r:2,a:22,i:15,o:20,u:15,n:3,l:1,y:1},i:{d:8,m:5,n:18,r:7,a:2,s:8,v:2,l:13,t:10,b:1,e:6,k:2,p:5,g:3,c:6,o:2,f:2,z:1},m:{e:19,s:8,a:21,i:12,m:1,o:15,y:2,b:4,p:8,n:1,u:8},n:{e:18,u:3,a:9,d:10,n:4,o:7,s:11,t:11,g:10,k:6,i:5,y:2,c:1},r:{e:18,s:4,y:4,a:16,c:1,g:1,i:12,m:3,p:2,t:4,b:1,d:4,k:4,n:5,r:2,o:11,l:2,u:6,f:1},t:{a:14,s:17,e:18,i:9,o:15,h:10,t:3,y:2,c:1,z:1,u:5,r:5,w:2},d:{a:14,d:4,s:10,e:22,y:8,i:12,o:14,r:4,u:10,l:1},f:{a:16,f:6,e:12,y:1,i:14,l:13,o:16,r:7,u:7,t:7,n:1,s:1},g:{a:16,e:12,o:17,u:7,s:18,g:1,y:2,i:8,l:4,n:2,h:3,r:9,w:1},j:{a:25,i:7,e:14,o:25,u:29},k:{i:23,s:6,e:41,u:6,a:10,l:2,n:8,o:2,h:1,y:1},p:{s:12,e:20,a:19,y:2,i:13,t:2,u:10,l:5,o:13,r:4},s:{o:8,i:8,e:13,k:6,h:10,s:8,t:14,y:1,p:5,c:2,l:6,a:10,m:1,n:2,u:4,w:2},v:{a:18,e:47,i:22,o:8,y:6},y:{l:4,e:18,s:20,d:3,n:8,r:8,t:4,a:14,k:1,m:1,o:8,x:3,p:3,u:4,v:1},q:{u:100},w:{a:24,e:17,l:4,r:3,s:10,n:6,y:2,k:1,d:1,t:1,i:17,u:1,o:10,h:4},x:{e:35,i:18,l:6,o:6,a:6,t:12,y:18},z:{z:10,y:10,a:3,e:43,r:3,o:17,i:10,u:3}},p=1,x,y,i=0;for(;i<3;){x=w[i],y=w[++i];p*=g[x]&&g[x][y]||0}return p>60}

작동하는 구현은 다음과 같습니다. http://fiddle.jshell.net/jc73sjyn/

간단히 말해, Object g는 a부터 z까지의 문자 (키로)를 보유하며 각각에 대해 확률 비율과 함께 뒤따를 수있는 문자를 나타내는 문자 세트 (키)도 있습니다. . 개체가 존재하지 않는 경우 확률이 없습니다.

3 점 (4 글자-> 3 점)이 곱해지고 60 점 이상인 단어는 실제 단어로 간주됩니다.

예 : 단어 'cope'에는 세 가지 조회가 있습니다.

g [c] [o] = 20

g [o] [p] = 5

g [p] [e] = 20

점수 = 20 * 5 * 20 = 2000이며 60보다 크므로 하나가 유효합니다.

(자바 스크립트를 처음 접했기 때문에 알지 못하는 길이를 줄이는 방법이있을 수 있습니다.)

늦은 편집 :

지금까지는 전혀 관련이 없지만 더 정확한 g로가는 길을 평가했습니다.

g={a:{b:7,c:4,d:4,m:6,f:2,r:14,g:4,i:6,x:2,k:2,l:10,n:12,s:6,p:4,t:7,u:2,v:3,w:12,y:3,h:1,z:1},b:{b:10,a:19,e:19,y:3,l:6,o:17,u:10,i:9,s:9,r:3},e:{d:7,l:8,t:4,s:10,n:11,e:10,r:10,c:2,x:2,w:4,a:13,f:1,p:2,g:2,v:20,b:3,m:3,u:1,i:1,k:1,y:2},l:{e:16,y:5,a:16,b:1,f:2,l:12,m:2,o:14,p:1,s:6,u:61,d:1,i:10,k:3,t:5},o:{s:7,g:3,e:3,k:3,n:20,m:4,p:5,w:6,b:3,c:2,t:6,a:5,d:5,h:10,i:2,l:8,o:3,r:8,u:4,y:2,v:2,z:1,f:20,x:1},u:{t:8,e:5,m:7,s:11,a:2,n:13,r:15,d:6,c:1,f:10,g:5,l:9,y:1,z:1,b:5,j:1,x:1,p:2,k:1,i:2},c:{e:9,h:20,i:2,r:6,t:20,o:15,k:15,a:15,l:6,u:8,y:1},h:{e:21,r:2,a:7,i:15,o:20,u:15,n:10,l:0,y:1},i:{d:8,m:5,n:18,r:7,a:5,s:8,v:2,l:13,t:20,b:1,e:21,k:2,p:5,g:20,c:4,o:2,f:2,z:1},m:{e:10,s:8,a:21,i:12,m:1,o:15,y:2,b:4,p:2,n:1,u:8},n:{e:18,u:3,a:9,d:3,n:4,o:20,s:2,t:11,g:10,k:6,i:5,y:2,c:1},r:{e:15,s:4,y:4,a:16,c:1,g:1,i:12,m:3,p:2,t:4,b:1,d:4,k:4,n:5,r:2,o:11,l:2,u:20,f:1},t:{a:14,s:15,e:18,i:2,o:15,h:10,t:3,y:2,c:1,z:1,u:5,r:5,w:2},d:{a:14,d:4,s:10,e:61,y:8,i:12,o:7,r:3,u:10,l:0},f:{a:5,f:6,e:12,y:1,i:3,l:13,o:16,r:7,u:20,t:4,n:1,s:1},g:{a:16,e:12,o:17,u:7,s:18,g:0,y:2,i:8,l:3,n:2,h:3,r:9,w:1},j:{a:8,i:7,e:14,o:5,u:29},k:{i:3,s:20,e:41,u:6,a:10,l:20,n:8,o:2,h:1,y:1},p:{s:12,e:20,a:5,y:2,i:13,t:4,u:10,l:3,o:13,r:4},s:{o:8,i:8,e:13,k:6,h:10,s:8,t:14,y:1,p:5,c:2,l:2,a:10,m:2,n:6,u:8,w:2},v:{a:10,e:20,i:22,o:6,y:6},y:{l:6,e:15,s:20,d:3,n:8,r:8,t:4,a:4,k:1,m:1,o:3,x:3,p:3,u:1,v:1},q:{u:100},w:{a:24,e:17,l:4,r:2,s:3,n:6,y:20,k:1,d:1,t:1,i:17,u:6,o:10,h:20},x:{e:35,i:6,l:3,o:6,a:6,t:3,y:7},z:{z:10,y:10,a:3,e:43,r:1,o:8,i:7,u:1}}

새로운 결과 :

단어 : 53 실수, 비 단어 : 159 실수

http://fiddle.jshell.net/jc73sjyn/2/


나는 2236 개의 정확한 단어의 평가를 통해 숫자가 발견되었다고 덧붙여 야한다. 모든 편지에 대해 간단히 각 후계자의 반올림 백분율을 계산합니다. 나는 틀린 단어에 대해서도 똑같이하는 것을 고려하고 어떻게해서 든 빼지 만, 그로 인해 평가가 덜 영리 해지고 제한된 틀린 단어 세트를 더 잘 활용할 것이라고 생각합니다.
Henrik Christensen

2
코드를 최대한 줄였습니다. 나는 약 80 바이트를 먹었습니다. 많지는 않지만 더 작습니다. 코드는 pastebin.com/fkPW0D92 입니다. 나는 3 번 이상 반복 된 모든 숫자를 교체했지만 여전히 for루프 에서 많은 부풀음을 제거했습니다 .
Ismael Miguel

언급을 잊어 버렸습니다 : Firefox / Firebug 콘솔에서만 작동합니다. 새로운 ES6 큰 화살표 표기법을 사용하여 함수를 만듭니다. 당신은 대체 할 수 있습니다 w=>에 의해 function(w)그것은 모든 브라우저에서 작동합니다.
Ismael Miguel

6

파이썬 2, 5254 바이트

이 솔루션은 좋은 단어를 두 부분으로 나눕니다. 조회는 먼저 첫 번째 2자를 검사하여 올바른 문자열을 찾은 다음 해당 문자열에서 두 번째 2자를 찾습니다. 매우 작지는 않지만 빨리 쓸 수 있습니다. 이 방법은 모든 단어를 실수없이 일치시킵니다.

d='''gwenyn
guamlflllpmsnsrushsttsys
grabadamayegeweyidiminipisitowub
gyro
gearldlsmsnentrmts
gagsilinitlellltmengpepsrbryshspteulvewkze
goadalatbidsesffghldlfnengodofreryshtoutwn
gnataw
gladeeenowueut
giftldllltnannnonsrdrlrtstve
wrapenit
leadafakanaparekeresftgsnandnsntonsssttsvivywd
labsceckcydsdygsidinirkembmempnandnengospsrdrkrsshssstteuevawnwsyszy
loadafanbecickebftgogsiniskilambmenengokomonopotrdresesssttsudutvewews
tubebsckftgsnerfrn
trapayeeekimioipodotoyueuk
liarceckdsedeneseufeftkelalymambmempndnenkntonpssasespssstve
toadbyddesgoilldllmbneninsokolpsrernrysstourwnys
luckcyiskellmpndngrarerkshsttetz
thaianataweaemeneyinisorudugus
tickdedyedereslellltmemsnansntnypsretots
teamarasemenllndnsntrmssstxt
lylennnxonrare
dockdderesgegslellmenensomorperasetetsugvewnze
typepo
yokerkstur
dialcedoedemesetgskellmemsnengntonpsrertscshskve
yagilenkrdrnwn
deadafalanarbtckedemeperfyllmonsntnyskuswy
yearaslllp
dadadedshllelilymemnmpmsnanererkrnrtshtatevevywnysze
dyadedereskene
dualbsckctelesetkelllymbmpnengnknnpeskstty
drabagamawewipopugum
yves
yubakiri
quadayipitiz
iranaqesisksmaon
emilitma
elbakslamsse
endsidosvy
eire
zincon
ekedes
eels
eddyengeitna
egangsos
eachrlrnrprssestsyts
echo
ebbsen
eyederes
examecit
ezra
etch
ewenes
eveneril
wokelfmbngntodofolosrdrerkrmrnve
epic
espy
erasgoicieikisneosrs
rubebsbydedygsinlempngnsntshssstthts
ryan
readalamapardodsedefelidinlymynandnenontstub
raceckftgegsidilinkemompmsndngnkntpepsptreshsptetsulveysze
itchelem
roadamarbebsckdedslellmempofokomotpesasesssythtsutvewewsxy
rhea
ribscacechckcodedsftgagsllmemsndngnkotpepsscsesktetz
beadakamanaratauckdsefeneperesetgslallltlyndntnzrnrtsssttatsvy
weakanarbbbsdsedekephrldllntptrestts
babebychckdegsilitjakekuldlelilklllmndnengnknsrbrdrerkrnrrrsrtseshskssthtsudwlys
wacodeftgegshlilitkelkllltndnengntrdrermrnrprsrtryshspvexyys
blabedewipobocotowueumur
juandddedodygslympnengnknorareryst
boaratbscadedyergshrilisldllltmbndnengnnnyobokomonorosotrergrnsessthutwlwsydys
biasbsdedsenerkelelkllndngninsrdtets
wickdeerfegsldlellltlyndnengnknspereryseshspthtstt
whatenimipitizom
buckdddsffgslblkllmpmsnknsntoyrlrnrprrrtryshssstsyttyszz
joanbsdyelesgshninkeltsetsveys
jigsll
braeaganasatayedewieigimowyn
jeaneperffrksttsws
byrdte
wynn
ooze
onceeslytousyx
omanenit
olafavdyeggain
okay
oilsly
ohio
offs
oddsesinor
obeyoe
oaksrsthts
ivan
stabaganarayemepewiropowubudunyx
oxen
owedeneslsns
ovalenerid
ouchrsstts
otisto
oslo
oralesgyinly
opalecelentsus
vialcedaederesetewlenesatato
citety
chadaoaparatefenewicinipitopouum
coalataxbbcackcodedyedgshnilinkeldleltmbmeneokolonoppepspyrdrerkrnstsytsvewlwszy
cladamanapawayioipodogotubueuj
cabsdyfegeinkelflllmmempnensntpepsrdrerlrprrrsrtseshsksttsve
cedellltntrn
czar
cyst
zoneomosrn
crabagamayeeewibopowuduxuz
cubabebsedesffllltpsrbrdrerlrsrtsptets
vealdaergailinlannntrarbrnrystto
prayepeyimodoposow
pubsffghkelllpmampnsntnypapsrerrshsststt
smogugut
pylere
jabsckdeilkemsnersvawszz
paceckctdsgeidilinirlelllmlolsnengnsntparcrerkrrrsrtsosssttethtsulvewnwsys
peakalarasatckekelepergsltndnhnnnsntrkrusttetsws
phil
picackcteresgskelellmpnengnknsntonpesassthtstttyus
isisle
planayeaodotowoyugumus
hydemn
hubsckeseygeghgollmempmsngnknsntrdrlrtshskts
hickdeghkellltndntpsresstsve
hoaresffgsldlelmlymemoneodofokopotpepipsrnsesturwewlyt
haagasckhnilirlelfllltmsndngnsrdrerkrmrprtshtetsulvewkyszezy
headalaparatbeckedelirldlllmlpmpmsnsrarbrdrerorrrsssws
meadalanateketltmondnsnureshsstatetsws
macechdeidiliminkelelillltmanennnsnypsrcrerkrsrtrxryshsksssttethtsttulwryayoze
utah
moanatbsckdeenhrldlellnankntodonorotpsrernssstthvews
micaceckenkeldlelkllmindneninkntpsraressst
upon
twasiginos
podsemetgokelelklllompndngnyolorpepsrerkrtseshsttsurut
muchckddffgsirlellngseshsksttettzo
ulan
undoitixixto
imps
ugly
tabsckctftgsilkelelkllmengnkospepsrartskssteutxi
myrath
illsly
vailinlenensrysestts
acesheidmeneretats
abbabebyedeletlelyosut
adamdsen
agaredeeeresogue
afar
aidadedsmsnursry
swabamanapatayimum
akin
ajarax
amenesidmookosyl
alanarasbaeceeexfagalymamsoepssoumva
analdyewnaneonsitetitsus
aqua
apedesexse
asiaks
arabchcocseaesgoidmsmypats
auntrato
atomop
awayedlsry
averidisivonow
ayes
axedeleresisleon
icedeson
ibexidis
ideaemlelyol
igor
ifni
niceckghlenaneps
usederes
noahdedselllneokonrarmseteun
nagsgyilirmepsrysashtetourvyzi
nealaratckedffilllonrosssttsvawswtxt
voidltsstews
zulu
nudellmbnsts
franauayedeeeteyogomye
urdugeisnssa
fueljillmendnkrsrysesszz
ionstawa
facectdegsilinirkelkllmengnsrermsttetsunwnze
fearatedelesetllltndrnssud
zealrostus
fiateffegsjilelllmndnenknnnsrermshsksttsve
flagakamapatawaxeaedeeewexipitogopowueux
foalamciesgsgyilldlkndntodolotrdrerkrmrtssulurwl
kahnlinentrlrptetz
incachdodyksnsto
keelenepmpntptrnrrys
kickdselevllndngnkrksstets
spanatecedinitotunur
kochng
kneeewitobotowox
subschckdsedesezitlkmsngnknsrerf
klanux
skewidiminipisitye
siamanckdeftghgnkhlkllloltmsnengnknspsrerstetstuvaze
shameaedinipitodoeopotowunut
soakaparbsckdadsfaftilldlelomengnsnyonotrertulupurwnya
snagapipobowubug
kudohnrdrt
slabamapatavayedewidimipitobopotowugumur
scabanarotowud
sackfegagegsidilkelelkltlzmenandnengnkpsrarishteudulvewsys
sealamanarasatctedekemenepereslfllmindntptrfthtswsxy'''
w=raw_input()
s=[t[2:] for t in d.split() if t[:2]==w[:2]]
print s and w[2:] in [s[0][i:i+2] for i in range(0,len(s[0]),2)]

5

C # WPF, 110139

더 짧은

bool F(string s){var t=new TextBox();t.SpellCheck.IsEnabled=true;t.Text=s;return t.GetSpellingError(0)==null;}

이전 답변

public bool F(string s){TextBox t=new TextBox();t.SpellCheck.IsEnabled=true;t.Text=s;SpellingError e=t.GetSpellingError(0);return e==null;}

1
기본 로케일을 사용합니까? :)
RobAu

@RobAu 처음 사용했을 때는 확실하지 않습니다.
bacchusbeale 2019

var필요한 경우를 제외하고 변수를 사용 하고 도입하지 않으면 상당히 짧아 질 수 있습니다.
lesderid

3

워드 VBA, 25 바이트

익명의 VBE 즉시 창 기능은 현재 선택으로 입력을 취하고 VBE 즉시 창에 부울 단어 인 경우 출력합니다.

?CheckSpelling(Selection)

테스터 기능

아래 함수는 테스트 케이스에 대해 위의 함수를 테스트하는 데 사용되었습니다. 이 함수는 9.07 %의 사례 실패 (실제 단어의 396 개와 가짜 단어의 10 개)

i=0:For Each w In Split(Selection,vbcr):i=i-CheckSpelling(w):Next:?i" were recognized as words

2

Mathematica, 33 바이트

이봐, 누군가해야 했어요!

Length[DictionaryLookup[Input[]]]

자명하다.


0

자바 스크립트 ES6, 32 바이트 :

@ Sp3000 답변 의 정규식 사용 :

s=>!/[^aeiou]{3}|[jqxz]/.test(s)

이것은 익명 함수를 만듭니다. 사용하려면 간단히 감싸십시오 ().

예:

(s=>!/[^aeiou]{3}|[jqxz]/.test(s))('word')

이것은 @ Sp3000과 정확히 동일한 실패율을 가지며 그에 따라 true또는 false그에 따라 반환 됩니다.

그의 정규 표현식을 사용할 수있게 해준 @ Sp3000으로 인한 모든 크레딧.


@ Sp3000 그러나 당신은 그것을 호출 할 수 없습니다. 이것은와 동일합니다 F = function(s) { return /[^aeiou]{3}|[jqxz]/.test(s) }.
Ismael Miguel

@ Sp3000 작동한다는 것을 알고 있지만 사용하려면 더 많은 바이트를 사용해야합니다.
Ismael Miguel

@ Sp3000 DANG it! 한 걸음 단축 : / 팁 주셔서 감사합니다. 업데이트했습니다.
Ismael Miguel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.