ASCII 루빅스 큐브


12

대화와 다음 대화에서 영감을 얻었습니다 .

영감

당신의 임무는 다음을 출력하는 것입니다.

   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/

큐브의 모양을 변경하지 않는 한 추가 선행 또는 후행 공백이 허용됩니다. 평소와 같이 함수에서 위 또는 문자열 목록을 반환하는 것이 허용됩니다.

이것은 이므로 바이트 단위의 최단 답변이 승리합니다!



3
관련. (보다 접선 적으로 "다이아몬드 타일링"을 검색 할 때 찾을 수있는 몇 가지 다른 문제도 있습니다.)
Martin Ender

7
샌드 박스에서 10 시간 (특히 단 하나의 공감)만으로는 충분하지 않습니다. 48 시간 이상 기다리는 것이 좋습니다.
Dada

9
내 downvote를 설명하려면 : 이미지가 많은 공간을 차지하고 있기 때문에 나는 도전을 좋아하지 않으며, 좋은 도전을하는 것보다 재미있는 이미지를 더 많이 보여주고 싶다고 생각합니다 (패턴이 '사진의 것과 동일하지는 않습니다.') (그리고 이것이 사진을 비 웃었던 사람들로부터 일부 공감대를 끌어 들일 것이라고 확신합니다). 또한이 문자열보다 많거나 적은 문자열로 "이 정확한 문자열을 출력하십시오."여러 번 수행되었으며, 귀하의 도전이 재미있을 정도로 어떻게 다른지 알 수 없습니다.
Dada

4
@StephenS +1을 주었지만 KC 챌린지에 대해 동일하게 말할 수 있다는 것에 동의하지 않습니다 .KC 챌린지를 할 때 패턴을 다소 복잡하게 만들어야합니다 (따라서 숯은 자동 승리하지 않습니다) 더 긴 패턴을 사용하면 루프를 더 잘 처리 할 수있는 언어가 기회를 가질 수 있습니다 (JS처럼) .KC 과제는 알파벳과 같이 일부 언어가 내장했을 수있는 것을 사용하려고합니다 .KC 과제는 많이 다르며 모두 동일하다고 말하려고하면 카테고리에서 멀어집니다.
LiefdeWen

답변:



11

, 28 23 바이트

F³⁺⁺×\_³×\/⁻³ι¶ ‖M↑×_ ³

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 별로 숯불-나는 알고있다. 나는 ‖M↓의도적으로 커서를 움직여서 원래 F³«P⁺×/_³×/\⁻³ι↗»‖M↓×_ ³작동하지 않은 것을 시도했지만 거꾸로하려고했기 때문에 작동하지 않았다는 것을 몰랐습니다. 더 많은 숯불을 원한다면 G↗³←⁶↘³/\¶\/G↖³←⁷↘³_\¶\_↘‖M↑×_ ³32 바이트를 시도하십시오 : 온라인으로보십시오!



5

> <> , 97 94 93 89 바이트

">knknknk//>k>knknknk/>k>k>knknknkk>k>k>n>n>n>k>k>n>n>n>/k>n>n>n>//n/n/n///"01.
of-

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

편집 3 : 문자 ""(ascii 25)를 사용할 수 있음을 알아 냈습니다. 이제 프로세스는 모든 스택 항목을 15 개 제거하고 인쇄합니다. 또한 추가 지시 사항을 제거하고 모두 1 번의 이동 (01.)으로 교체했습니다.



4

테일, 99 바이트

#!/bin/tail -n+2
    _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/

1
PPCG에 오신 것을 환영합니다!
Stephen

또는 #!/bin/sed 1d변형
sch

4

파이썬 3 , 98 94 바이트

@KevinCruijssen이 제안했습니다 ...

@HyperNeutrino 및 @WheatWizard 덕분에 -4 바이트

출력 하드 코딩 솔루션 :

print(r"""   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/""")

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

또는 98 바이트 :

print("   _ _ _\n  /_/_/_/\\\n /_/_/_/\/\\\n/_/_/_/\/\/\\\n\_\_\_\/\/\/\n \_\_\_\/\/\n  \_\_\_\/")

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


파이썬 3 , 139 바이트

Dumb Python 3 비 하드웨어 Sumbmission, 골프를 칠 수 있는지 확인하십시오. 놀랍게도, for하나의 루프에서 두 개의 압축하는 것이 더 길다.

p=print;p(' '*3+"_ "*3)
for i in range(3):p(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\')
for i in range(3):p(i*' '+'\\_'*3+'\\'+"/\\"*abs(2-i)+'/')

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

파이썬 3 , 140 바이트

print(' '*3+"_ "*3,'\n'+'\n'.join(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\'if i<3else (i-3)*' '+'\\_'*3+'\\'+"/\\"*abs(i-5)+'/'for i in range(6)))

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


1
음 .. 출력을 짧게 코딩하지 않습니까? 이스케이프 된 슬래시를 사용하더라도 Java 8 / C # / JavaScript에서는 112 바이트입니다 .
Kevin Cruijssen

@KevinCruijssen 그것은 실제로>. <... Omg 너무 바보입니다
Mr. Xcoder

1
이제 할 일이 많습니다 ....
Mr. Xcoder



3

풍선 껌 , 42 바이트

0000: e0 00 4f 00   22 5d 00 10   68 13 e2 04   15 00 b7 11 │ à.O."]..h.â...·.
0010: 7a 0e c5 f5   30 27 b5 b3   3d 39 8f a6   1f f9 74 52 │ z.Åõ0'µ³=9.¦.ùtR
0020: c5 66 98 bd   bd 0a 9a 8d   44 00                     │ Åf.½½¶..D.

3

자바 8, 112 바이트

o->"   _ _ _\n  /_/_/_/\\\n /_/_/_/\\/\\\n/_/_/_/\\/\\/\\\n\\_\\_\\_\\/\\/\\/\n \\_\\_\\_\\/\\/\n  \\_\\_\\_\\/"

하드 코딩 된 출력.

여기에서 시도하십시오.


JS 및 C # 하드 코딩 된 부분을 답변으로 편집 할 수 있습니까?
LiefdeWen

좋아, C #에 5 리터럴을 그대로 그대로 리터럴 o=>@"...한 다음 \n실제 줄 바꿈으로 바꿀 수 있습니다.
LiefdeWen

2

C #, 86 바이트

o=>@"   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/"

여기에서 시도하십시오.


도전적인. 총 크기가 약간 작지만 (머리글 + 바닥 글 + 코드) 작은 머리글 / 바닥 글을 사용자보다 약간 큰 기본 / 교환으로 바꿉니다 : 온라인으로 사용해보십시오!
Mark Rejhon 2016 년

@MarkRejhon 불행히도 기본 프로그램이나 기능으로 계산되는 것이 주요 부분입니다. ;) 추가 o=>{} 하면 98 바이트가 됩니다.
Kevin Cruijssen

2

망막 , 59 바이트


   _¶  /_/\¶ /_/V\¶/_/VV\¶\_VVV¶ \_VV¶  \_V
._
$&$&$&
V
\/

온라인으로 사용해보십시오! 설명 : 첫 번째 단계는 단순히 다음을 작성합니다.

   _
  /_/\
 /_/V\
/_/VV\
\_VVV
 \_VV
  \_V

두 번째 단계는 모든 _문자와 이전 문자를 3 번 ​​반복하여 모든 S 를 확장 하는 반면, 세 번째 단계는 VS를 \/s 로 바꿉니다 .



2

05AB1E , 34 31 바이트

„_ 3×Âð'/:3F„/\«∞2ä`RˆD}\)¯R«.c

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

설명

„_ 3×             # push the string "_ _ _ "
     Â            # push a reversed copy
      ð'/:        # replace spaces with slashes
3F                # 3 times do
  „/\«            # append "/\"
      ∞           # mirror
       2ä`        # split into 2 separate parts on stack
         Rˆ       # reverse the second part and push to global list
           D      # duplicate the remaining part
            }     # end loop
\)                # discard the last copy and wrap stack in a string
  ¯R              # push the global list and reverse it
    «             # append to the rest of the list
     .c           # pad lines to equal length

대체 31 바이트 솔루션

„ _3×3FDð'/:„/\«∞2ä`R.Á})ÀÀÀ.c¦

ÀÀÀ대체 버전에서 [O_O"]...
Magic Octopus Urn

@MagicOctopusUrn : 예 ... 나는 그것을하거나 해결하는 더 짧은 방법을 찾지 못했습니다 : P
Emigna

1
나는 동의하며 몇 분도 노력했다. xD를 볼 수있는 방법이 없습니다.
매직 문어 Urn

2

CSS, 225 223 바이트

Stephen S 덕분에 -2 바이트, 추가 공간 제거

CSS가 실제로 프로그래밍 언어 가 아니기 때문에 이것이 중요한지 확실하지 않지만 <html>요소가 없으면 자동 생성 되기 때문에 기술적으로 CSS는 독립형 일 수 있습니다 .

html:after{content:'   _ _ _ \A   /_/_/_/\005c\A  /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A  \005c_\005c_\005c_\005c/\005c\/\A   \005c_\005c_\005c_\005c /';white-space: pre;}

그리고 여기에는 247 246 바이트 의 고정 폭 글꼴이있는 버전이 있습니다.

Stephen S 덕분에 -1 바이트, 여분의 공간 제거

html:after{font-family:'Courier';content:'   _ _ _ \A   /_/_/_/\005c\A  /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A  \005c_\005c_\005c_\005c/\005c\/\A   \005c_\005c_\005c_\005c /';white-space: pre;}


난 당신이 주위에 CSS의 일부 공간을 삭제할 수 있습니다 생각 :들과 {}이야
스티븐

2

05AB1E , 35 32 31 바이트

"/ _\"•₁7æ¤ÝI}?ÕR&Ü•4вè4ôJ€∞ø¨»

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

Emigna와 100 % 다른 방법.


편집 : 이미 바뀐 패턴으로 시작하면 3 바이트를자를 수 있습니다.


"/ _\"            # Push ASCII-art characters used.
•₁7æ¤ÝI}?ÕR&Ü•4в  # Push transposed version of base-4 pattern.
è                 # Replace all digits in base-4 number with appropriate symbol.
 4ô               # Split into groups of 4.
   J              # Join together.
    €∞            # Mirror each row (technically column).
      ø           # Transpose back.
       ¨»         # Remove the extra "_ _ _", and print with newlines.

1

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

_=>String.raw`   _ _ _
  /_/_/_/\
 /_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
 \_\_\_\/\/
  \_\_\_\/`

자바 스크립트 (ES6), 103 94 바이트

@Shaggy 덕분에 -9 바이트

_=>`   _ _ _
  ${a=`/_/_/_/\\`}
 ${a}/\\
${a}/\\/\\
${b=`\\_\\_\\_\\/`}\\/\\/
 ${b}\\/
  ${b}`

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

_=>`   _ _ _
  /_/_/_/\\
 /_/_/_/\\/\\
/_/_/_/\\/\\/\\
\\_\\_\\_\\/\\/\\/
 \\_\\_\\_\\/\\/
  \\_\\_\\_\\/`


@Shaggy duh, 나는 심지어 그것을 최근에 사용한 것을 알았습니다. 감사!
Stephen


@JoshuaBell 자신의 답변으로, 그것은 확실히 내 골프가 아니라고 게시하십시오 :) (또한 매우 독창적입니다)
Stephen

1

루비, 72 70 바이트

7.times{|i|puts' '*(j=i^i/4+3)+'_ \_/_'[-i/3*2,2]*3+'/\/'[i/4,2]*j^=3}

최신 편집 : 대신 \문자열을 묶어 두 배로 피하십시오 .''""

Ungolfed (루비 음수 문자열 색인은 줄 바꿈입니다. -1마지막 문자입니다.)

7.times{|i|                       #7 lines.
  puts" "*(j=i^i/4+3)+            #Print j= 3,2,1,0, 0,1,2 spaces.
      "_ \\_/_"[-i/3*2,2]*3+      #Print 3 repeats of 2 characters from the string, index 0,-2,-2,-2,-4,-4,-4.
      "/\\/"[i/4,2]*j^=3          #Print 2 characters from the string, /\ or \/, repeated 3^j times.
}

1

Windows 배치, 122 바이트

@echo    _ _ _
@echo   /_/_/_/\
@echo  /_/_/_/\/\
@echo /_/_/_/\/\/\
@echo \_\_\_\/\/\/
@echo  \_\_\_\/\/
@echo   \_\_\_\/

꽤 자기 외식.


1

Brainf * ck 387 바이트

이것이 여전히 일인지 확실하지 않지만 지루하고 sh * ts와 giggles를 위해 그것을했습니다 :)

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

편집 : TIL : 온라인에서 찾은 일부 발전기보다 54.28 % 더 효과적입니다 ^. ^

편집 2 : 온라인 시도 옵션에서 메모리 오버플로 동작에 랩이 켜져 있는지 확인하십시오.


1

코볼, 238 바이트

오픈 코볼로 컴파일되었습니다. 들여 쓰기는 공백이 아닌 단일 탭입니다.이 웹 사이트에서 이러한 방식으로 서식을 지정하더라도 마찬가지입니다.

    IDENTIFICATION DIVISION.
    PROGRAM-ID. a.
    PROCEDURE DIVISION.
    DISPLAY "   _ _ _".
    DISPLAY "  /_/_/_/\".
    DISPLAY " /_/_/_/\/\".
    DISPLAY "/_/_/_/\/\/\".
    DISPLAY "\_\_\_\/\/\/".
    DISPLAY " \_\_\_\/\/".
    DISPLAY "  \_\_\_\/".
    STOP RUN.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.