도널드 럼스펠드 전 미 국방 장관은 “알려진 기지”라는 문구를 유명하게 만들었다 . 여기서 우리는 그의 말을 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]]
즉, 시작 인덱스 될 제거 할 un
때 2
때 변경되지 않은 문자열을 유지,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]
온라인으로 사용해보십시오! 단일 문자열을 나타냅니다.