태그 보관물: subsequence

subsequence

알려진 것이있다 미 국방 장관은 “알려진 기지”라는

도널드 럼스펠드 전 미 국방 장관은 “알려진 기지”라는 문구를 유명하게 만들었다 . 여기서 우리는 그의 말을 4 줄의 스탠자로 증류 할 것입니다.

구체적으로 다음 텍스트를 출력하십시오.

known knowns
known unknowns
unknown knowns
unknown unknowns

대문자는 중요하지 않으며 (예를 들어, Known unKnowns괜찮음) 단일 후행 줄 바꿈은 허용되지만 다른 형식 변경은 허용되지 않습니다. 이는 단어 사이의 단일 공백과 행 사이의 LF(59 바이트) 또는 CR/LF(62 바이트)를 의미합니다.

규칙

  • 전체 프로그램 또는 기능이 허용됩니다. 함수 인 경우 출력하지 않고 출력을 반환 할 수 있습니다.
  • 표준 허점 은 금지되어 있습니다.
  • 이것은 이므로 모든 일반적인 골프 규칙이 적용되며 가장 짧은 코드 (바이트)가 이깁니다.


답변

파이썬 2 , 54 52 바이트

xnor 덕분에 -2 바이트

k='unknowns'
for i in 8,6,2,0:print k[i/3:7],k[i%3:]

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

로부터 결과 /와는 %[[2, 2], [2, 0], [0, 2], [0, 0]]즉, 시작 인덱스 될 제거 할 un2때 변경되지 않은 문자열을 유지,0


답변

Vim 28 25 바이트

이것은 나의 첫번째 Vim 답변이며, 골프 팁은 환영합니다.

2iunknown ␛rsY3P2xw.+.jw.

환상적인 애니메이션을 만들기 위해 Python 스크립트 를 작성 해준 Lynn 에게 감사합니다 .

이것은 V Try it Online으로 도 실행할 수 있습니다 !

또한 25 :

2iknown ␛rsY3pwiun␛+.+.w.

답변

bash, 36 바이트

printf %s\\n {,un}known\ {,un}knowns

다른 솔루션

36

eval echo\ {,un}known\ {,un}knowns\;

37

eval printf '%s\\n' \{,un}known{\\,s}

38

eval eval echo\\ \{,un}known{\\,'s\;'}

41

x=\\\ {,un}known;eval "eval echo$x$x\s\;"

45

x='\ {,un}known' e=eval;$e "$e echo$x$x\s\;"
x='\ {,un}known' e=eval\ ;$e"$e\echo$x$x\s\;"

선행 줄 바꿈과 추가 공간이 31 바이트로 허용 된 경우 :

echo '
'{,un}known\ {,un}knowns

답변

05AB1E , 13 12 바이트

Outgolfer Erik 덕분에 1 바이트 절약 (닫는 문자열을 피하십시오)

„Š¢—‚#D's«â»

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

설명

„Š¢—‚           # push the string "known unknown"
     #          # split on spaces
      D         # duplicate
       's«      # append "s" to each
          â     # cartesian product
           »    # join on newline

답변

CJam ( 26 25 바이트)

"unknown"_2>\]2m*{S*'sN}%

온라인 데모

["known" "unknown"]그 자체 의 직교 곱 , 그 다음 각 요소는 공간과 결합되고 접미사와 s개행 문자로 연결됩니다.

1 바이트 절약을위한 Erik 에게 감사합니다 .


답변

R , 52 51 50 바이트

cat(gsub(1,"known","1 1s
1 un1s
un1 1s
un1 un1s"))

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

놀랍게도 짧은 대체 및 인쇄 명령 은 도전 에서 실제로 경쟁력있는 R 답변을 만듭니다 !

매우 지루한 경우에도 마찬가지입니다. J.Doe 덕분에 약간 더 재미 있고 바이트가 절약 되었습니다 !

이 답변 덕분에 또 다른 바이트 를 절약했으며 J.Doe!


답변

하스켈 , 60 58 53 51 바이트

f<$>l<*>l
f x y=x++' ':y++"s"
l=["known","unknown"]

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

최근에 허용 된 줄 목록을 나타냅니다. 지적 해 주신 @firefrorefiddle 에게 감사드립니다 .

cole 덕분에 -2 바이트 .


58 바이트 버전 :

f=<<"? ?s\n? un?s\nun? ?s\nun? un?s"
f '?'="known"
f c=[c]

온라인으로 사용해보십시오! 단일 문자열을 나타냅니다.