단어로 20까지 세십시오!


39

다음과 같이 길이로 구분 된 단어 목록 사용 :

https://github.com/Magic Octopus Urn / wordListsByLength

1에서 n 20 까지의 각 길이 목록에서 1 단어를 인쇄 하십시오. 유효한 예는 다음과 같습니다.

a
an
and
hand
hands
handle
handles
abandons
abandoned
understand
outstanding
newfoundland
understanding
characteristic
characteristics
characterization
characterizations
characteristically
characterologically
chemotherapeutically

대안 적으로 (배열) :

['a', 'an', 'and', 'hand', 'hands', 'handle', 'handles', 'abandons', 'abandoned', 'understand', 'outstanding', 'newfoundland', 'understanding', 'characteristic', 'characteristics', 'characterization', 'characterizations', 'characteristically', 'characterologically', 'chemotherapeutically']

또는 (이외의 인쇄 가능한 비 알파벳 분리기 \n) :

a:an:and:hand:hands:handle:handles:abandons:abandoned:understand:outstanding:newfoundland:understanding:characteristic:characteristics:characterization:characterizations:characteristically:characterologically:chemotherapeutically

규칙

  • 당신은 당신의 자신의 20 단어를 선택할 수 있습니다.
  • 단어는 제공된 github 페이지에서 제공되어야합니다.
    • 1에서 1.txt, 1에서 2.txt 등 ...
    • 20.txt 이상의 파일은 존재하지만 20자를 초과하는 단어는 필요하지 않습니다.
  • 유효한 구분 기호는 ASCII로 인쇄 가능한 비 알파벳 문자입니다 (숫자도 상관 없음).
  • 소문자 또는 대문자 만 선택하고 하나를 고르십시오. 제목이 허용되지 않습니다.
  • 내 예제 20 단어의 100 % 사본을 사용하지 마십시오 ...
    • 가능하지만 재미는 없습니다.
    • 어쨌든 그들은 차선책 일 것입니다 ...
  • 분리 된 파일을 사용하지 않고 전체 목록이 필요한 경우 :
    • unsorted.txt를 사용하십시오 .이 n파일 은 모두 .txt 파일이며 알파벳 순으로 정렬되어 있습니다.
  • URL에서 직접 읽을 수는 없으며 일반적인 허점 입니다.
  • 이것은 이며 가장 낮은 바이트 수가 승자가됩니다.

참고로 출력은 229 바이트이므로, 그 아래에있는 것은 하드 코딩보다 우수합니다.


가능한 메타 태그 토론 :

로 사용자가 가능성 목록에서 출력을 사용자 정의 할 수 있습니까?


4
뉴 펀들 랜드에서 온 누군가로서, 나는 소리 지르는 것에 감사합니다. :)
분산

6
@Christian 당신은 내가 말할 수 ... ( •_•)>⌐■-■ 뛰어난 뉴 펀들 랜드를 이해(⌐■_■)
매직 문어 Urn

1
@Riley 그것을 확장하고 있습니다. 각 단어 사이에 1 개의 구분 기호가 있지만 도움이되는 많은 상황을 볼 수 있습니다 : P.
매직 문어 Urn

1
@JonathanAllan은 방금했습니다 :).
매직 문어 Urn

1
단어를 선택하기위한 유틸리티 .
Jim

답변:


19

젤리 ,  49 35 31  30 바이트

ṫ3,⁸Ṗ,$€ẎK
“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»ḲÇ€K

문자 목록을 반환하는 닐라 딕 링크 또는 해당 목록을 문자열 (공백으로 구분 된 단어)으로 인쇄하는 전체 프로그램.

온라인으로 사용해보십시오!

어떻게?

ṫ3,⁸Ṗ,$€ẎK - Helper link: list of characters, word    e.g. "abreacts"
ṫ3         - tail word from index 3                          "reacts"
   ⁸       - chain's left argument, word
  ,        - pair                               ["reacts","abreacts"]
      $€   - last two links as a monad for €ach of the two words:
    Ṗ      -   pop (all but last character)      "react" / "abreact"
     ,     -   pair       ["react","reacts"] / ["abreact","abreacts"]
        Ẏ  - tighten          ["react","reacts","abreact","abreacts"]
         K - join with spaces         "react reacts abreact abreacts"

“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»ḲÇ€K - Link: no arguments
“¤ƈȮⱮ⁴⁷ọḤƁŒ|⁾Ė»     - a compressed string using dictionary indexes:
                    -   "agar abreacts acknowledges codeterminations deindustrializations"
               Ḳ    - split at spaces
                Ç€  - call the last link (Helper) as a monad for €ach
                  K - join with spaces

... 이것은

a ar aga agar react reacts abreact abreacts knowledge knowledges acknowledge acknowledges determination determinations codetermination codeterminations industrialization industrializations deindustrialization deindustrializations

이전:

@ 35 :

“¡Ụıƭz Xj]"Ɱ*AJƤʂạ5ƬṚṪð^ƥỤ»ḲṖ,$€K€K

10 개의 단어와 길이 -1 접두사를 사용합니다.

@ 49

“ḊAḥTz¹ỴH¡ṛYẈDƤNŀt#ñ²ĿĊḤlṪnð⁻U+ɦỴĊypṆQ0⁴ṄẉṂi⁻d¤&»

압축 된 단어 20 개


단 젤리 사전! +1
Outgolfer Erik

나는 젤리가 사전을 가지고 있다는 것을 몰랐다.
매직 문어 Urn

3
30 바이트! ?? !! ??! 난 그냥 잠에 가서 일어나서는 30 바이트의 낮은입니다 !! ?? (11) O_O_O?!?!
에릭 Outgolfer

30 바이트!?!?! ??! 나는 한 달 동안이 도전에 대해 잊어 버렸고 그는 30 바이트로 끝났습니다!?!?!
매직 문어 Urn

27

파이썬 2 , 145 바이트

print'i am now tiny @ @s##s#ed#act#acts#@#@s#@ed#@ing#arguments#accusation#accusations#advertisings'.replace('#',' counter').replace('@','check')

온라인으로 사용해보십시오!

공백으로 구분하여 다음 단어를 인쇄합니다.

i
am
now
tiny
check
checks
counter
counters
countered
counteract
counteracts
countercheck
counterchecks
counterchecked
counterchecking
counterarguments
counteraccusation
counteraccusations
counteradvertisings

18
"나는 지금 작다"-나는 자기-설명 코드를 좋아한다 ...
trichoplax

16

PowerShell , 166163 바이트

'a
an
and'
'','s','le','ler','lers'|%{"hand$_"}
($a="character")
($x=-split"s ed ful ized istic istics ization izations istically ologically"|%{"$a$_"})
"un"+$x[8]

온라인으로 사용해보십시오!

손 최적화, 알고리즘 없음. 두 개의 루프 |%{ }는 적절한 시작 부분에 적절한 끝 부분을 고정시킵니다. 하나의 루프로 가져 오는 방법을 찾고 있습니다.


와우, 내 예는 이제 xD! characterful > newfoundland
매직 문어 Urn

10

파이썬, 169 바이트

z='odahs princesses acclimatizers cyanocobalamines aerothermodynamics underrepresentations'.split()
print([y[:i+1]for x,y in zip(['']+z,z)for i in range(len(x),len(y))])

단어 목록을 인쇄합니다.

온라인으로 사용해보십시오!

일치하는 단어 시퀀스를 스캔하여 단어의 시작 또는 끝과 길이 1부터 시작하거나 길이 20의 다운 워드에서 시작하여 얻은 단어.

여기에 내가 사용한 스크립트가 있습니다. (위에서 시작하는 것)


171 바이트 (그것은 짧은해야 같은 느낌,하지만 그것을하지 않습니다) : 온라인으로보십시오!
Stephen

8

파이썬 2 ,  126120112  바이트

Anders Kaseorg 덕분에 -8 바이트 (파이썬 3에서 마이그레이션했다고 생각했지만 잊어 버렸습니다!)

내 젤리 답변의 포트는 파이썬에서도 잘 작동합니다 ...

for w in"agar abreacts acknowledges codeterminations deindustrializations".split():print w[2:-1],w[2:],w[:-1],w,

온라인으로 사용해보십시오!

인쇄물:

a ar aga agar react reacts abreact abreacts knowledge knowledges acknowledge acknowledges determination determinations codetermination codeterminations industrialization industrializations deindustrialization deindustrializations 

파이썬 2는 print w[2:-1],w[2:],w[:-1],w,-8 바이트로 끝납니다 .
Anders Kaseorg

오, 죄송합니다. 이것에 대해 잊어 버렸거나 그렇게했다고 생각했습니다. 어딘가에 TIO 페이지가 열려 있습니다!
Jonathan Allan

그래도 고마워!
Jonathan Allan

6

자바 스크립트, 159 바이트

_='a1an1and}}swwrwrs~~s~ed~ful~ized{{s~|~|s{ally~ologically1misx|s~1x}1hand|ization{~isticxcharacterw}le';for(i of'wx{|}~')with(_.split(i))_=join(pop());f=f=>_

온라인으로 사용해보십시오!

편집 해 주셔서 감사합니다 @HyperNeutrino. 그러나 Node.js와 관련이 없기 때문에 이전 게시물 ( "Node.js"플래그 제거)로 되돌아갑니다. 브라우저에서도 완벽하게 작동합니다.


f=f=>_나를 던져 버렸다, 나는 "기능을 무시하지 않을 것"과 같았습니다 (재귀를 막을 것입니다)
Stephen

@StepHen. 일반 문자열을 남겨 둘 수 있는지 확실하지 않습니다. 내가 이해했듯이 코드는 함수 (또는 전체 프로그램)를 나타내야하므로 마지막에 추가해야합니다. 변수에 _이미 문자열이 포함되어 있습니다.

당신은 맞습니다, 변수 이름을 재사용했기 때문에 (실제로 f함수 이름과 (무시 된) 매개 변수 이름으로) 난 정말 혼란 스러웠습니다
Stephen

6

05AB1E , 51 바이트

’¯Óa‚‡’D“€…€¤Þ¨íʃé¢Ã¥£žÜ¶ß´ç…àçî×Ü»‡ÛೌçÓs²® ÿ ÿs

온라인으로 사용해보십시오!

분리 기호:

단어 목록 : a, an, ana, anal, house, houses, amazing, criminal, seriously, apparently, accessories, disciplinary, distributions, discrimination, congratulations, responsibilities, characterizations, telecommunications, representationalist, representationalists


1
자신의 도전에 참여하고 싶다
Magic Octopus Urn

나는 05AB1E에 사전에 20 길이의 단어가 없다고 추측합니다. : P? 아직 실제로 확인하지 않았습니다.
매직 문어 Urn

@MagicOctopusUrn Nope .
Adnan

@adnan 와우, 그 접근법은 ... 1-10바이트 와 같은 모든 사전 코드 포인트를 생성하는 방법을 찾을 수 있다면 실제로 좋은 아이디어가 될 수 있습니다 ...
Magic Octopus Urn

1
@adnan이 첫 시도 였는데, 당신이 그것을 공원 밖으로 떨어 뜨릴 수 있다고 확신합니다.
매직 문어 Urn

5

루비, 120 바이트

j=3
$><<?a
"  5  T &  }   <    ".bytes{|i|puts
8.times{|k|$><<%w{dehydro chlori ge n at ion e s}[k]*(j>>7-k&1)}
j+=i-31}

다음을 인쇄합니다. 각 단어는 이진수를 사용하여 위의 8 개 문자열로 구성 j됩니다. 루프가 반복 될 때마다 j문자열에서 문자의 ASCII 값 (빼기-31)만큼 증가합니다.

a
es
ion
ions
nates
nation
nations
chlorine
chlorines
chlorinate
chlorinates
chlorination
dehydrogenate
dehydrogenates
dehydrogenation
dehydrogenations
dehydrochlorinate
dehydrochlorinates
dehydrochlorination
dehydrochlorinations

4

Pyth , 74 바이트

정신 병리학 적 모험

.e:"psychopathologicallyadventuresomenesses"b+bhkiR36"GGGGBKMMKKM6K6M0K0K0

온라인으로 사용해보십시오! 출력합니다 :

['a', 'al', 'all', 'ally', 'logic', 'advent', 'venture', 'ventures', 'adventure', 'adventures', 'venturesome', 'pathological', 'adventuresome', 'pathologically', 'venturesomeness', 'psychopathologic', 'adventuresomeness', 'psychopathological', 'adventuresomenesses', 'psychopathologically']

한 번 포맷하면 다음과 같습니다.

a
al
all
ally
logic
advent
venture
ventures
adventure
adventures
venturesome
pathological
adventuresome
pathologically
venturesomeness
psychopathologic
adventuresomeness
psychopathological
adventuresomenesses
psychopathologically

설명

열쇠는 서로 보완하는 두 단어를 선택하는 것이 었습니다. 내가 쓴 작은 도구 덕분에 나는 " 정신 병리학 적으로 "그리고 " 모험적 모험 "을 선택했다 . 이 두 단어를 사용하면 길이에 상관없이 제공된 목록 의 실제 단어 인 하위 문자열을 찾을 수 있습니다 . 가능한 모든 분해는 다음과 같이 입증됩니다.

a al all ally logic psycho logical          logically pathologic             pathological               pathologically                 psychopathologic                   psychopathological                     psychopathologically
a ad ess ness esses advent venture ventures adventure adventures venturesome              adventuresome                venturesomeness                  adventuresomeness                    adventuresomenesses

다음 단계는 주어진 분해에 대한 색인 목록을 얻는 것입니다. 내 분해 16 16 16 16 11 20 22 22 20 20 22 6 20 6 22 0 20 0 20 0를 위해 연결된 문자열의 인덱스 인을 선택했습니다 psychopathologicallyadventuresomenesses.

마지막으로, 색인을 반복하는 프로그램을 작성하고 주어진 색인마다 길이가 증가함에 따라 하위 문자열을 표시하십시오.

바이트를 절약하기 위해 인덱스를 기본 36 문자열에 저장했습니다. 실제로, GGGGBKMMKKM6K6M0K0K0기본 36의 내 인덱스 목록입니다 (최고의 인덱스는 22이므로 기본 23을 사용할 수 있음).

프로그램 설명

.e:"psychopathologicallyadventuresomenesses"b+bhkiR36"GGGGBKMMKKM6K6M0K0K0

                                                 iR36"GGGGBKMMKKM6K6M0K0K0    # For each character in the string, convert from base 36 to base 10
.e                                                                            # Loop over indexes: b are the indexes, h their position
  :"psychopathologicallyadventuresomenesses"b+bhk                             # In "psy...ses", select the substring at index b and of length k + 1

정신 병리학 적으로- "정신 장애에 대한 과학적 연구 측면에서" 흥미 롭군
매직 문어 Urn

3

C #, 259 바이트

_=>{var a=new int[7].Select((n,i)=>"abasers".Substring(0,i+1)).ToList();a.Add("abacuses");a.AddRange(new int[12].Select((n,i)=>(i>10?"un":"")+"character"+"|s|ed|ful|ised|istic|istics|isation|isations|istically|ologically|istically|".Split('|')[i]));return a;}

아직 골프를 할 수있는 확실한 공간이 있지만 지금은 시간이 부족합니다. 나는 그것이 하드 코딩보다 길다는 것을 알고 있으므로 나중에 시간이 걸릴 때 그것을 고칠 것입니다.


포함해야하기 때문에 Woops는 실제로 더 길다using System.Linq;
TheLethalCoder

4
문자열을 공백으로 나눈 문자열은 245와 같습니다.
Magic Octopus Urn

@MagicOctopusUrn 나는 그것이 내 대답에서 말한 것을 알고 있습니다 ...
TheLethalCoder

3

05AB1E , 130 68 바이트

Outgolfer Erik 덕분에 -62 바이트

743222’€Ü†š ƒ´aî³eros €‡a•¿f²Ñns …¿en®íizers ‚ÀÙŠs ‡åØŽ’#‚øε`ηRs£R}˜

온라인으로 사용해보십시오!

다음 각 단어에서 필요한만큼 접두사를 가져옵니다.

amusers
carabinero
foraminiferans
photosensitizers
videoconferencings
radiopharmaceuticals

다음 단어를 배열로 인쇄합니다.

a
am
amu
amus
amuse
amuser
amusers
carabine
carabiner
carabinero
carabineros
foraminifera
foraminiferan
foraminiferans
photosensitizer
photosensitizers
videoconferencing
videoconferencings
radiopharmaceutical
radiopharmaceuticals 



일부 다른 -6도 ... (슬프게도 나는 대체 할 수 743222와 함께 •B/™•)
에릭 Outgolfer

예, 필요하지 않으므로 S-62 바이트입니다. )
에릭 Outgolfer

@EriktheOutgolfer 감사합니다! 나는 마지막 것과 같은 일을하려고했지만 그것을 작동시킬 수 없었습니다. 압축 된 문자열의 작동 방식을 설명 하시겠습니까?
Riley

3

풍선 껌 , 66 바이트

00000000: 6d8b 410a 0020 0804 bf6a 4407 a134 5aff  m.A.. ...jD..4Z.
00000010: 4fe6 29ac 93ce b0a3 543a ad06 3f6c e769  O.).....T:..?l.i
00000020: 46f3 3ae2 b218 abc4 2cab d389 a805 82aa  F.:.....,.......
00000030: fee1 6e43 2444 62df 0f46 4a1e f356 8cf1  ..nC$Db..FJ..V..
00000040: 73d8                                     s.

산출:

o`al`res`alit`reset`preset`present`rational`represent`rationales`annotations`connotations`connotational`representation`representations`representational`misrepresentation`misrepresentations`representationalism`representationalisms

온라인으로 사용해보십시오!

단어와 분리기는 시뮬레이션 된 어닐링에 의해 선택되었습니다.

from __future__ import print_function
import math
import random
import zlib

wordlists = \
    [[chr(x).encode() for x in [9, 10] + list(range(32, 127)) if not chr(x).encode().isalpha()]] + \
    [open('wordListsByLength/{}.txt'.format(n), 'rb').read().splitlines() for n in range(1, 21)]

words = [random.choice(wordlist) for wordlist in wordlists]

temperature = 10.
score = 9999
best = score

while True:
    old_score = score
    n = random.randrange(len(wordlists))
    old_word = words[n]
    words[n] = random.choice(wordlists[n])
    z = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS, 9)
    score = len(z.compress(words[0].join(words[1:])) + z.flush())
    if score > old_score and random.random() >= math.exp((old_score - score) / temperature):
        words[n] = old_word
        score = old_score
    else:
        temperature *= .99999
        if score < best:
            best = score
            print(best, repr(words[0].join(words[1:])))

2

풍선 껌 , 78 바이트

00000000: 654b c301 4431 10bd a7cb d876 9a5f efe7  eK..D1.....v._..
00000010: 781e 2080 ee55 0488 ffc8 9f69 e86f a5ff  x. ..U.....i.o..
00000020: ce00 0b98 202e 34ed d701 a464 bf59 35fb  .... .4....d.Y5.
00000030: 23d7 9192 b948 7c79 f351 0c8b f4ee 06e4  #....H|y.Q......
00000040: 8b05 1a33 77c8 1bcf 7f58 7577 e113       ...3w....Xuw..

온라인으로 사용해보십시오!


2

루비, 107 바이트

p(z=%w{o or for form ultra})+[z[3],c="centrifug",z[4]+c].product(%w{ed ing ally ation ations}).map{|i|i*""}

다음 배열을 인쇄합니다.

["o", "or", "for", "form", "ultra", "formed", "forming", "formally", "formation", "formations", "centrifuged", "centrifuging", "centrifugally", "centrifugation", "centrifugations", "ultracentrifuged", "ultracentrifuging", "ultracentrifugally", "ultracentrifugation", "ultracentrifugations"

pfor puts(후행 공백 사용) 를 변경하면 추가 4 바이트의 비용으로 다음을 제공합니다.

o
or
for
form
ultra
formed
forming
formally
formation
formations
centrifuged
centrifuging
centrifugally
centrifugation
centrifugations
ultracentrifuged
ultracentrifuging
ultracentrifugally
ultracentrifugation
ultracentrifugations

1

Japt , 119 바이트

`av„v„dvjvjsvj¤vj¤svfœejvqvqsvq‚vqˆgvqizƒvqÄKcvqÄKcsvqizÂ\nvqizÂ\nsvq‰tkvqologkv·sqizÂ\ns`d'j`Ê@`'k`Åœ§`'q`Ö‹a×` q'v ·

온라인으로 사용해보십시오!

인쇄물:

a
an
and
hand
hands
handle
handles
freehand
character
characters
charactered
charactering
characterizes
characteristic
characteristics
characterization
characterizations
characteristically
characterologically
mischaracterizations
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.