벽돌 벽을 쌓아주세요!


73

도전

벽돌 벽을 세우는 데 도움이 필요합니다! 입력을 사용하지 않고 코드를 함께 작성하고 아래 표시된 출력 벽을 생성하십시오.

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

이제이 벽은 10문자 높이가 70넓고 문자 폭이 넓습니다.

위에서 언급했듯이 입력은없고 코드 만 있습니다. 바이트 수가 가장 적으므로이 벽돌 벽을 효율적으로 만들어야합니다. 분명히이 프로그램은 벽을 지 으려면 기능을해야합니다 ..? 또는 분명히 자체 빌드되지 않습니다! 행운을 빕니다!


우승자

우승자는 전체 바이트가 필요한 언어를 사용하여 마리 누스 로갑니다 ! https://codegolf.stackexchange.com/a/99028/61857APL12


참여해 주셔서 감사합니다!



8
또한 관련. (오늘이 올 것 같아, 하하)
코너 오브라이언

1
괜찮아. 통역사가 있으면 알려 드리겠습니다. 나는 지금, 실제로 그것을 작업하고 있습니다 :)
ETHproductions


30
보너스 포인트는 멕시코가 지불하십시오.
Dawood ibn Kareem

답변:


46

APL, 12 바이트

10 70⍴'_|__'

산출:

      10 70⍴'_|__'
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

1
J 답변을 넣을 때이 답변을 보았습니다. 그들은 기본적으로 같은 하하입니다
코너 오브라이언

2
이것은 ascii 벽 외에 다른 것을 출력합니다. 이것이 허용됩니까?
버퍼 오버 읽기

tryapl.org를 사용할 때 벽면 출력을 얻었습니다. @TheBitByte는 무엇을 받았습니까?
FivePixels

4
@Dylan 응답자가 APL의 REPL 특성을 몰라도 출력에 프로그램을 포함 시켰기 때문에 혼동 될 수 있습니다.
Conor O'Brien

191

Trumpscript , 303 285 244 231 226 바이트

make i 1000005-1000000
as long as,i;:
make i,i - fact;
say "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
say "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"!
America is great

나는 이것이 거의 모든 것이 작동하는 프로그램으로 컴파일하지 못하는 가장 장황한 언어 중 하나라고 말하고 싶습니다.

분명히 -작동하는 대신 minus통역사가 전적으로 통역사에게 달려 있으며 때로는 작동합니다. 이번에는 그렇게 골프로 넣었습니다.

Trumpscript가 Python으로 작성되어 fact정수로 사용될 때 하나 라는 사실을 남용합니다 .

골프 팁을 환영합니다.


48
Trumpscript는 1,000,000 미만의 숫자를 허용하지 않습니까? ;-)
ETHproductions

3
당신이 올바른지.
Blue

2
당신이 사용할 수 i is 1000005-1000000i is i-fact? (Trumpscript의 읽어보기를 살펴 보았습니다.)
AlexRacer

19
나는 그것이 당신이 사용할 수 있다는 것에 놀랐습니다 1000000. 설명서 상태 All numbers must be strictly greater than 1 million. The small stuff is inconsequential to us..
Mad Physicist 20

9
Fact그리고 lies(그리고 다른 진실 / 거짓 상수는) 토큰 화 중에 플롭을 뒤집을 수있는 임의의 시간 기반 기회가 있습니다 (tokenizer.py, flip_flop 참조) minus실제로해야 할 때 작동하지 않는 것처럼 보일 수 있습니다. 로 fact그 시점에서
pinkfloydx33


18

BBC 기본, 28 바이트

토큰 화 된 파일 크기는 23 바이트입니다.

WIDTH70P.STRING$(175,"_|__")

WIDTH70일반적으로 개행이 뒤 따릅니다. 필드 너비를 70으로 설정합니다. 그런 다음 줄의 175 개 사본 만 인쇄합니다.


2
내가 본 WIDTH의 가장 많이 사용 된 것 :)
ElPedro

그러면 헤더에 "23 바이트"가 있어야합니다.
Adám

@ Adám 토큰 화 된 버전이 답변으로 게시 된 경우에만 해당됩니다.
ErikE

17

Brainfuck, 171 바이트

+++++[>+++++++++++++++++++<-]+++++++[>>++++++++++++++++++<<-]>>--<<++[>>>+++++<<<-]+++++[>.>.>>+++++++++++++++++[<<<...>.>>-]<.>+++++++++++++++++[<<<...>.>>-]<<<..>>.<<<-]

Brainfuck은 재미 있습니다. 여기 내 제출물이 있습니다.

출력은 다음과 같습니다.

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

그것을 시도하는 링크는 다음과 같습니다

https://repl.it/EW2Z/0


16

WinDbg, 45 바이트

f2000000 L2bc 5f 7c 5f 5f;da/c46 2000000 L2bc

작동 방식 :

f 2000000 L2bc 5f 7c 5f 5f; *Repeat the pattern _|__ (5F 7C 5F 5F) to fill 2BC (700) bytes 
                            *starting at 2000000
da /c46 2000000 L2bc        *Show 2BC (700) ASCII chars starting from 2000000 in lines 
                            *of length 0x46 (70)

산출:

0:000> f2000000 L2bc 5f 7c 5f 5f;da/c46 2000000 L2bc
Filled 0x2bc bytes
02000000  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
02000046  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
0200008c  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
020000d2  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
02000118  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
0200015e  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
020001a4  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
020001ea  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"
02000230  "_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|"
02000276  "___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__"


10

파이썬 2, 37 바이트

s="_|__"*17;print(s+"_|\n__%s\n"%s)*5

두 행을의 17 개 사본과 _|__개행으로 중단 된 다른 사본, 17 개 이상의 사본 및 다른 개행 으로 분해 합니다.

더 긴 대안 :

print"%s_|\n__%s\n"%(2*("_|__"*17,))*5

s="_|__"*17;print"%s_|\n__%%s\n"%s%s*5

for i in[0,2]*5:print("_|__"*18)[i:i+70]

print("_|__"*17+"_|\n"+"___|"*17+"__\n")*5

for s in["_|__","___|"]*5:print(s*18)[:70]

s="_|__"*99;exec"print s[:70];s=s[2:];"*10

print("%s"*70+"\n")*10%(175*tuple("_|__"))

마지막 대안은 print(("%s"*70+"\n")*10%(175*(*"_|__",)))파이썬 3에서 와 같이 더 짧 습니다.
mbomb007


7

PHP, 44 42 41 자

<?=chunk_split(str_pad(_,700,"|___"),70);

(이전에는 사용할 기회가 없었기 때문 chunk_split()입니다.)

덕분에 :

  • 사용을 제안하기위한 user59178str_pad() (-1 문자)

샘플 실행 :

bash-4.3$ php <<< '<?=chunk_split(str_pad(_,700,"|___"),70);'
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

문자 수가 아닌 바이트.
FivePixels

2
같은. 멀티 바이트 문자를 사용하지 않습니다.
manatwork


2
@pajonk, PPCG로 수정 됨- 내 컴퓨터에서 44 명의 사용자 스타일로 표시 : i.stack.imgur.com/czn5h.png
manatwork 20.26의

value가있는 상수로 취급 되기 때문에 str_pad대신 str_repeat대신를 사용하여 바이트를 저장할 수 있습니다 . __
user59178

7

Vim, 30 24 19 키 스트로크

18a___|<esc>YP2x}h.yk4P

소중한 키 입력을 저장 한 DrMcMoylex와 nmjcman101에게 감사합니다!


1
좋은 답변, 사이트에 오신 것을 환영합니다! 몇 가지 팁 : 1) a계산이 필요하므로 18a___|<esc>매크로를 만드는 대신 할 수 있습니다. 2) <cr>일반 모드에서는에 해당 j0하므로 두 번째 매크로에서 1 바이트를 제거 할 수 있습니다.
DJMcMayhem

쿨, 팁 주셔서 감사합니다!
karpfen

1
나는 당신의 솔루션을 약간 재미있게 골랐습니다. 복사 / 붙여 넣기 전에 벽을 포맷하면 매크로를 만들지 않는 모든 바이트가 절약됩니다 : 18a___|<esc>YP2x}h.yk5P19 바이트입니다.
nmjcman101

좋아요, 답변을 업데이트하겠습니다! 난 그냥 그렇지 않으면 벽지고, 4 마지막 키에 두 번째를 대체 할 수 있습니다 :) 너무 높은
karpfen

6

펄, 47 34 29 바이트

$_="_|__"x175;say for/.{70}/g

29 say for("_|__"x175)=~/.{70}/g
Dada

어떤 이유로 든 시도 할 때마다 출력이 생성되지 않았지만 많은 바이트에서 다른 솔루션을 찾았습니다. 그래도 감사합니다!
Gabriel Benamy

글쎄, 내가 제안한 코드는 유효한 출력을 생성합니다 ... 괄호를 잊어 버렸을 수도 있습니다 "_|__"x175.
Dada

나는 그것이 무엇이라고 생각합니다. 나는 괄호가 어딘가에 가야한다고 생각했는데, 나는 어디에서 알아낼 수 없었는지, lol
Gabriel

Huhu, 모든 연산자의 우선 순위를 기억하기 어렵습니다 ( =~보다 높은 우선 순위를 가짐 x)!
Dada

5

펄, 31 바이트

say+($@="_|__"x17,"_|
__$@
")x5

-E실행 하려면 플래그가 필요 합니다.

perl -E 'say+($@="_|__"x17,"_|
__$@
")x5'

29 바이트에 대한 약간 다른 접근법을 생각했습니다 : say for("_|__"x175)=~/.{70}/g:). 나는 당신이 거기에서 고용 한 트릭을 좋아합니다!
Dom Hastings

@DomHastings huhu, Gabriel Benamy의 답변에 똑같은 코드를 썼습니다!
Dada

도! 저것을 보지 못했다! 또한 다른 답변에서 많이 사용되는 것을 보았습니다 .
Dom Hastings

@DomHastings Yea, 나는 그것을 처음에 생각하지 않았고 이미 가브리엘의 답변에 있었으므로 그 이후로 내 답변을 업데이트하지 않았습니다.)
Dada

5

V , 24 , 16 바이트

175i_|__ò70|lé

온라인으로 사용해보십시오! 여기에는 <esc>문자 ( 0x1B) 가 포함되어 있으므로 16 진수 덤프가 있습니다.

0000000: 3137 3569 5f7c 5f5f 1bf2 3730 7c6c e90a  175i_|__..70|l..

Jordan 덕분에 8 바이트가 간접적으로 절약되었습니다!


19 바이트 : v.tryitonline.net/… V docs에 언급 된.\{-} 바로 가기 를 사용하는 방법을 알 수 없었습니다 .
Jordan

@ 조던 와우, 아주 좋은! \{-}당신이 내 번호를 변경할 수 없기 때문에 바로 가기, 어쨌든 작동하지 않을 것입니다. 그러나 대신 이것을\{ 얻기 위해 높은 비트를 설정할 수 있습니다. 답변으로 자유롭게 게시하십시오.
DJMcMayhem

아, 말이 되네요. 여기에 게시 : codegolf.stackexchange.com/a/99070/11261
요르단

젠장, 난 여전히이 언어를
이해해야


5

MATL, 15 바이트

'_|__'700:)70e!

물론 온라인으로 사용해 볼 수 있습니다! 설명:

'_|__' % Put a brick on the stack
700    % 700 times
:)     % Makes a happy mason...
70e!   % Secret freemason code

실제로 실제로 다음과 같이 작동합니다.

'_|__' % Put the first bit of the string on the stack
700:   % Put 1, 2, ..., 700 on the stack as array
)      % Index into the string, modularly. Result: '_|___|__ ... __'
70e    % Reshape into 70 rows (and consequently, 10 columns)
!      % Transpose to get the desired output.

잘 했어! 그리고 당신의 웃는 내보다 낫다
루이스 Mendo

@LuisMendo 실제로 스마일을 사용하는 것은 MATL에서 디자인 패턴으로 간주 될 수 있습니다. 의 xD 아마도 당신은 할 수 :)C(다른 이유가 나입니다 ...하지만 마지막 1 바이트 코드 포인트 사라 것 C사용하지?)
Sanchises

당신은 웃는를 제거하고 싶어 ?? :-P
Luis Mendo

5

파이썬 2, 46 44 바이트

문자열 곱셈을 사용하여 문자열을 작성하고 슬라이싱하여 올바른 비트를 얻습니다. :)

k='_|__'*18
print'\n'.join([k[:70],k[2:]]*5)

2 바이트를 절약 한 Antony Hatchkins에게 감사드립니다 :)


2 바이트가 더 적을 수 있습니다.print'\n'.join([k[:70],k[2:]]*5)
Antony Hatchkins (

@AntonyHatchkins 감사합니다!
Kade

4

PowerShell v2 +, 34 30 바이트

'_|__'*175-split"(.{70})"-ne''

멍청한 정규식 일치 알고리즘이 필요합니다 -ne''... 5 바이트를 낭비합니다!

'_|__'*175-split"(.{70})"-ne''
'_|__'*175                     # Repeat this string 175 times
          -split"       "      # Split on this regex pattern:
                  .{70}        # Match any character 70 times
                 (     )       # Encapsulated in parens so we keep the regex results
                         -ne'' # But don't select the empty strings
                               # Output with newlines via Write-Output is implicit

Conor 덕분에 4 바이트를 절약했습니다!


겠습니까 .{70}TEH 정규식에 대한 모든 짧아?
Conor O'Brien

split다른 언어에서와 같이 작동합니다-원하는지 여부에 관계없이 항상 최고의 부분을 얻습니다. 일부 언어에는 match일치하는 결과 만 배열로 반환하는 데 사용할 수 있는 연산자가 있지만 이에 해당하는 PowerShell이 ​​표시되지 않습니다.
Neil

@Neil Performing 'abc'-split'(.)'이 반환 ('','a','','b','','c','')됩니다. 일치하는 것은 없지만 알고리즘이 입력 문자열을 처리하는 방식으로 인해 빈 문자열이 다시 나타납니다. 여기를 참조 하십시오 .
AdmBorkBork

그렇습니다. 저는 그 결과에 놀라지 말아야한다고 말하고 있습니다. 왜냐하면 그것은 분할이해야 할 일이기 때문입니다.
Neil

@ 닐 놀랐나요? 아니 정말. 그래도 내가 행복해야한다는 의미는 아닙니다. : D
AdmBorkBork

4

C, 131 115 113 103 97 95 바이트

i,j;main(){for(;i<10;puts(i++&1?"|__":"|"))for(j=0;j<18-(i&1);printf(&"|___"[j++?0:i&1?1:3]));}

골프를 시작할 시간 ...

_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__
_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__

3

젤리 , 14 바이트

“_|__”ṁ700s70Y

TryItOnline!

어떻게?

“_|__”ṁ700s70Y - Main link: no arguments
“_|__”         - literal ['_','|','_','_']
      ṁ700     - mould like something 700 long
          s70  - split into chunks of length 70
             Y - join with line feeds

1
정의에 따라 Jelly는 J보다 길 수 없습니다.
Adám

나는 독특하지 않은 비슷한 일을했다 : “_|__”ẋ175œs⁵Y(14 bytes)
Outgolfer Erik



3

자바 스크립트 REPL, 45 바이트

"_|__".repeat(175).match(/.{70}/g).join("\n")

1
PPCG에 오신 것을 환영합니다! 대화식 콘솔 환경 외부에서는 아무것도 인쇄하지 않으므로 "JavaScript REPL"또는 이와 유사한 것으로 표시해야합니다.
Martin Ender

1
이 45 바이트 아닌가요?
acrolith

당신이 맞다 @daHugLenny, 나는 하나의 바이트로 \ n을 세어
후안 토니에게

console.log는 어디에 있습니까?
cardeol

1
ES6을 사용하는 한 템플릿 문자열을 사용할 수 있으므로 join("\n")join <backtick> <literal newline> <backtick>
Stephen

3

자바 스크립트 (ES6), 48 바이트

f=(n=350)=>n?(n%35?'_':`
_`)+"|_"[n%2]+f(n-1):""

재귀 때문에.


3

배쉬, 44, 41 , 40 바이트

printf _\|__%.0s {1..175}|egrep -o .{70}

printf는 한 줄을 700 자 길이로 만들고 egrep은 한 번에 70자를 일치시킵니다.





2

루비, 30 바이트

이 솔루션에 대한 manatwork 덕분에

puts ("_|__"*175).scan /.{70}/

루비, 39 바이트

10.times{|i|puts ("_|__"*18)[i%2*2,70]}

2
스플릿 생성 방식도 여기에서 더 짧습니다 puts ("_|__"*175).scan /.{70}/.
manatwork

@manatwork 감사합니다! 나는 scan정규 표현식에 익숙하지 않은 것으로 거의 생각 하지 않습니다. 당신은 당신이 당신의 대답으로 그것을 게시 할 수 있다는 것을 알고 있습니다.
Level River St

2

하스켈, 56 47 바이트

unlines$[1..5]>>take 70.cycle<$>["_|__","___|"]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.