강림절 달력 골프


87

우리 중 많은 사람들이 강림절 달력을 얻는시기입니다 . 강림절 달력에 익숙하지 않은 경우, 크리스마스를 예상하여 강림절을 카운트 다운하는 데 사용되는 특수 달력입니다. 내 경험에 따르면 문은 무작위로 배치되며 내일의 문이있는 곳에서 아이가 운동하는 재미의 일부입니다! 요즘에는 달력마다 초콜렛이 있지만 올해 달력 달력을 구입하는 대신 ASCII 달력을 만들어야합니다!

태스크

정수 (입력 감안할 n범위) 0- 24최대-에 번호가 문을 ASCII 출현 달력을 제작 n, 열었습니다. 당신은 아래의 예에서와 동일한 순서를 사용해야합니다 : 2, 17, 8, 12, 1, 6, 11, 20, 5, 22, 3, 10, 15, 23, 7, 16, 9, 24, 18, 4, 13, 19, 21, 14.

닫힌 문은 다음과 같아야합니다.

.-----------.
|           |
|           |
|           |
|       nn  |
|___________|

여기서 n문 수를 나타내고 (앞의 0은 선택 사항 임) 열린 문은 다음과 같습니다.

.-----------.
|\          |
| |         |
| |         |
| |         |
| |_________|
 \|

대신 문 24를 제외하고 :

.--------------------------.
|                          |
|                          |
|                          |
|                      24  |
|__________________________|
.--------------------------.
|\                         |
| |                        |
| |                        |
| |                        |
| |________________________|
 \|

이 문은 각 열 사이에 두 개의 공백이 있고 각 행 사이에 빈 줄이있는 79 개 문자의 37 줄로 배열됩니다.

열린 문

문이 열리면 문 아래에 (열심히 크리스마스 관련-끔찍한 예술 기술에 대한 사과!) 그림 중 하나를 표시해야합니다.

 . _ .    _'_        +       .^o     _(")_     _n_       $        .     
 }\O/{    ) (^.^_   /~\     (';')   (_ . _)    (")      |,|    __/ \__  
 }/*\{    \./v`v'  /~*~\   {\|+|/}   / : \   >( o )<    | |    `.   .'  
 /***\     oO8    /~*~~*\    d-b    (_/ \_)  (  o  )  ._|_|_.   /.^.\   

 .\^/.     ____   __.==,_    .*.     _   _    . . .   _______   _   _   
<->o<->   /_%_/|  --|XX|-    /.\    (O X O)  .i_i_i.  _j_j_j_  ( `v' )  
 '/v\`   |_|_| |   _|  |    |_-_|    / ^ \   |-~~-~|   ||__|    \   /   
         |_|_|/   (____'   (.-o-.)   \/ \/   |_____|  _|/$$|_     V     

   i       |~|     //'`\     |=|    _{/ _{/   ,   *   \  ====     b     
 .'%'.     | |    //....\    / \      \_/    +  . +   \\\|+-|   .'''.   
|^~~.~|     Y     ||()()|   |(%)|     /O \     . ' .  \\\\\+|  {*=*=*}  
_'._.'_    _|_    ||_[]_|   |___|   @__,/\\  ~~~~~~~  \\\\\\\   '._.'   

    _    |  _  |  .W. .W.  .&%$+*.    \O/       .;'   ..,.;..   ('v')    
  .'.'O  | ($) |  |*| |*|  */'"'\&  [ ]|_.     .m_.   |\\|//|  //   \\   
 /___\   |  " o|  |*| |*|  $\._./%  |_____)   C|  |    \\|//   |\   /|   
(_____)  | === |  'M' 'M'  '%&*+$'  ------'    |__|    _=|=_     Y Y    

 \   /      .==.    .-.     -._.-   __/\__     ...       .-.   
._o_O_.  .--'  |  \|   |/    .+.    \_\/_/    '*  `     //`);  
|/\/\/|  \_____/  /|   |\   ( W )   /_/\_\   |_/\*_|   %%      
"""""""  `====='    '-'      `"`      \/     [_____]  //       

각 이미지는 7 자 길이이며 4 줄을 포함하므로 창 안에 맞습니다. 위의 이미지 중 하나를 자유롭게 선택하여 순서대로 사용할 수 있지만 이미지를 반복 할 수는 없습니다. 24 일 동안 다음 메시지도 추가해야합니다.

       ~       
   ~ MERRY ~   
 ~ CHRISTMAS! ~
     ~~~~~     

위의 그림 중 하나와 나란히 텍스트가 이미지의 오른쪽인지 왼쪽인지를 선택할 수 있습니다.

입력이 주어지면 0문을 열지 않은 상태에서 달력을 출력하십시오.

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        2  |  |       17  |  |        8  |  |       12  |  |        1  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        6  |  |       11  |  |       20  |  |        5  |  |       22  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        3  |  |       10  |  |       15  |  |       23  |  |        7  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |       16  |  |        9  |  |                      24  |  |       18  |  |
|  |___________|  |___________|  |__________________________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |           |  |           |  |           |  |           |  |           |  |
|  |        4  |  |       13  |  |       19  |  |       21  |  |       14  |  |
|  |___________|  |___________|  |___________|  |___________|  |___________|  |
|                                                                             |
|_____________________________________________________________________________|

input의 5경우 다음과 유사한 것을 출력하십시오.

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\   . _ .  |  |           |  |           |  |           |  |\  __.==,_ |  |
|  | |  }\O/{  |  |           |  |           |  |           |  | | --|XX|- |  |
|  | |  }/*\{  |  |           |  |           |  |           |  | |  _|  |  |  |
|  | |  /***\  |  |       17  |  |        8  |  |       12  |  | | (____'  |  |
|  | |_________|  |___________|  |___________|  |___________|  | |_________|  |
|   \|                                                          \|            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |           |  |           |  |           |  |\  _{/ _{/ |  |           |  |
|  |           |  |           |  |           |  | |   \_/   |  |           |  |
|  |           |  |           |  |           |  | |   /O \  |  |           |  |
|  |        6  |  |       11  |  |       20  |  | | @__,/\\ |  |       22  |  |
|  |___________|  |___________|  |___________|  | |_________|  |___________|  |
|                                                \|                           |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\    _n_   |  |           |  |           |  |           |  |           |  |
|  | |   (")   |  |           |  |           |  |           |  |           |  |
|  | | >( o )< |  |           |  |           |  |           |  |           |  |
|  | | (  o  ) |  |       10  |  |       15  |  |       23  |  |        7  |  |
|  | |_________|  |___________|  |___________|  |___________|  |___________|  |
|   \|                                                                        |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |           |  |           |  |                          |  |           |  |
|  |       16  |  |        9  |  |                      24  |  |       18  |  |
|  |___________|  |___________|  |__________________________|  |___________|  |
|                                                                             |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\     +    |  |           |  |           |  |           |  |           |  |
|  | |   /~\   |  |           |  |           |  |           |  |           |  |
|  | |  /~*~\  |  |           |  |           |  |           |  |           |  |
|  | | /~*~~*\ |  |       13  |  |       19  |  |       21  |  |       14  |  |
|  | |_________|  |___________|  |___________|  |___________|  |___________|  |
|   \|                                                                        |
|_____________________________________________________________________________|

입력의 경우 14:

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\   . _ .  |  |           |  |\     .    |  |\    ____  |  |\  __.==,_ |  |
|  | |  }\O/{  |  |           |  | | __/ \__ |  | |  /_%_/| |  | | --|XX|- |  |
|  | |  }/*\{  |  |           |  | | `.   .' |  | | |_|_| | |  | |  _|  |  |  |
|  | |  /***\  |  |       17  |  | |  /.^.\  |  | | |_|_|/  |  | | (____'  |  |
|  | |_________|  |___________|  | |_________|  | |_________|  | |_________|  |
|   \|                            \|             \|             \|            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\      _   |  |\     $    |  |           |  |\  _{/ _{/ |  |           |  |
|  | |   .'.'O |  | |   |,|   |  |           |  | |   \_/   |  |           |  |
|  | |  /___\  |  | |   | |   |  |           |  | |   /O \  |  |           |  |
|  | | (_____) |  | | ._|_|_. |  |       20  |  | | @__,/\\ |  |       22  |  |
|  | |_________|  | |_________|  |___________|  | |_________|  |___________|  |
|   \|             \|                            \|                           |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\    _n_   |  |\   _(")_  |  |           |  |           |  |\    |=|   |  |
|  | |   (")   |  | | (_ . _) |  |           |  |           |  | |   / \   |  |
|  | | >( o )< |  | |  / : \  |  |           |  |           |  | |  |(%)|  |  |
|  | | (  o  ) |  | | (_/ \_) |  |       15  |  |       23  |  | |  |___|  |  |
|  | |_________|  | |_________|  |___________|  |___________|  | |_________|  |
|   \|             \|                                           \|            |
|  .-----------.  .-----------.  .--------------------------.  .-----------.  |
|  |           |  |\  \  ==== |  |                          |  |           |  |
|  |           |  | | \\\|--| |  |                          |  |           |  |
|  |           |  | | \\\\\-| |  |                          |  |           |  |
|  |       16  |  | | \\\\\\\ |  |                      24  |  |       18  |  |
|  |___________|  | |_________|  |__________________________|  |___________|  |
|                  \|                                                         |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\     +    |  |\    ,  *  |  |           |  |           |  |\     i    |  |
|  | |   /~\   |  | | +  .  + |  |           |  |           |  | |  .'%'.  |  |
|  | |  /~*~\  |  | |  .  ' . |  |           |  |           |  | | |^~~.~| |  |
|  | | /~*~~*\ |  | | ~~~~~~~ |  |       19  |  |       21  |  | | _'._.'_ |  |
|  | |_________|  | |_________|  |___________|  |___________|  | |_________|  |
|   \|             \|                                           \|            |
|_____________________________________________________________________________|

입력의 경우 24:

.-----------------------------------------------------------------------------.
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\   . _ .  |  |\   //''\  |  |\     .    |  |\    ____  |  |\  __.==,_ |  |
|  | |  }\O/{  |  | | //....\ |  | | __/ \__ |  | |  /_%_/| |  | | --|XX|- |  |
|  | |  }/*\{  |  | | ||()()| |  | | `.   .' |  | | |_|_| | |  | |  _|  |  |  |
|  | |  /***\  |  | | ||_[]_| |  | |  /.^.\  |  | | |_|_|/  |  | | (____'  |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   \|             \|             \|             \|             \|            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\      _   |  |\     $    |  |\    |~|   |  |\  _{/ _{/ |  |\   . . .  |  |
|  | |   .'.'O |  | |   |,|   |  | |   | |   |  | |   \_/   |  | | .i_i_i. |  |
|  | |  /___\  |  | |   | |   |  | |    Y    |  | |   /O \  |  | | |-~~-~| |  |
|  | | (_____) |  | | ._|_|_. |  | |   _|_   |  | | @__,/\\ |  | | |_____| |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   \|             \|             \|             \|             \|            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\    _n_   |  |\   _(")_  |  |\  |  _  | |  |\  .W. .W. |  |\    |=|   |  |
|  | |   (")   |  | | (_ . _) |  | | | ($) | |  | | |*| |*| |  | |   / \   |  |
|  | | >( o )< |  | |  / : \  |  | | |  " o| |  | | |*| |*| |  | |  |(%)|  |  |
|  | | (  o  ) |  | | (_/ \_) |  | | | === | |  | | 'M' 'M' |  | |  |___|  |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   \|             \|             \|             \|             \|            |
|  .-----------.  .-----------.  .--------------------------   .-----------.  |
|  |\   _   _  |  |\  \  ==== |  |\  .&%$+*.       ~        |  |\    \O/   |  |
|  | | (O X O) |  | | \\\|--| |  | | */'"'\&   ~ MERRY ~    |  | | [ ]|_.  |  |
|  | |  / ^ \  |  | | \\\\\-| |  | | $\._./% ~ CHRISTMAS! ~ |  | | |_____) |  |
|  | |  \/ \/  |  | | \\\\\\\ |  | | '%&*+$'     ~~~~~      |  | | ------' |  |
|  | |_________|  | |_________|  | |________________________|  | |_________|  |
|   \|             \|             \|                            \|            |
|  .-----------.  .-----------.  .-----------.  .-----------.  .-----------.  |
|  |\     +    |  |\   ,   *  |  |\     |    |  |\    .*.   |  |\     i    |  |
|  | |   /~\   |  | | +  . +  |  | |  .'''.  |  | |   /.\   |  | |  .'%'.  |  |
|  | |  /~*~\  |  | |   . ' . |  | | {*=*=*} |  | |  |_-_|  |  | | |^~~.~| |  |
|  | | /~*~~*\ |  | | ~~~~~~~ |  | |  '._.'  |  | | (.-o-.) |  | | _'._.'_ |  |
|  | |_________|  | |_________|  | |_________|  | |_________|  | |_________|  |
|   \|             \|             \|             \|             \|            |
|_____________________________________________________________________________|

규칙

이것은 이므로 각 언어에서 가장 짧은 바이트 단위의 코드가 이깁니다.

  • 일관성이 있다고 가정하면 I / O에 적합한 형식을 사용할 수 있습니다.
  • 각 줄의 끝에 추가 공백 / 인쇄 할 수있을뿐만 아니라 달력 앞뒤에있는 여백은 충분하지만 80 자 이내 여야합니다.
  • 모든 표준 허점 은 금지되어 있습니다.

감사

ASCII 이미지를 제공 한 James Holderness !


14
너무 귀엽다!
Patrick Roberts

답변:


25

, 676639614 607 598590564561 바이트

P⁴⁰↓.↓³⁷M↗׳⁹_‖OF²⁴«≔⌕”%↖∧F◨℅V⊖⎚λJ↷;φε⊟ ↧”§βιε≔⎇⁼²³ι²⁶⊕χαJ×﹪ε⁵¦¹⁵×÷ε⁵¦⁷M³¦².α↓.↓⁵↖←×⁻α²_¿‹ιIθ«M±¹±⁴↘¹↓⁵↖↖\↑⁵M⁴¦¹EE⁴⁺×﹪ι⁸¦⁷×⁵⁶⁺κ×⁴÷ι⁸✂”}⊞r⌕⁸⸿‹;β/|∧±⪪I÷=EE%±÷ü5>ü⊘-▶⁹⦃vy⌈#$“o⊟ⅈ‖zMq‖s0YV↔↔|⎈⁹'⁸γ₂βxM¿yH⌕.➙↧↘⁻³]υ|tψ⧴À‹>8Φπ;V}Qλjgd↔⟲|WU(‖J⁴⁹XJx#aα➙?⁰N@⁵=πX⭆›*≡ηΦzgQ±tJ;∨≦K⪫9⁸πcω2-0CγN8|x43,BDua←A9M№»⎚‴dN|k9<·⊖R?Tρe»∧=₂₂~⁰i³e4⮌↖λ″OÞν%≧Jj◧SLÀ·Π_B₂Tσ-*¬y&XWP›J↔À≕²ψT↘b▶“ζX↙ΣψSCμ#×I?K%H6Kⅉ⁸OH…⁸Uⅈ«j×⟦χ~gP% ¦◨⦄⟲24;⦄▷Y>≕À▶;DψJψYN(N-⊞K‹▷⦃Ug∧⦃8⊕|·HO;JZ⎇*>GPM⮌Σ�“P²⁼↶w66›λ⁼±⧴ι⊟uβρ⁻C⊙Z+%oΣVLtY1O≦ O|ηf±h﹪φ⊟”¦κ⁺κ⁷M⁸±⁴¿⁼²³ι”¶<↑?≡DTh¤WSWV~≔✂r₂b…wSεGl≔TêE¶(…R↘�”»«←__↑⁵M⁻Ღ⁴←⮌I⊕ι

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

여기에 자세한 버전의 코드가 있습니다. 내 접근법은 @Neil과 반대입니다. 그는 모든 은사를 그리고 필요없는 것들을 다룹니다. 필요한 선물 만 그립니다.

  • Neil 덕분에 5 바이트가 절약되었습니다!

3 바이트를 저장 : Print(Map(Map(4,Add(Times(Modulo(i,8),7),Times(56,Add(k,Times(4,IntDivide(i,8)))))),Slice("... ",k,Add(k,7))));대신의 for (4)루프.
Neil

@Neil 나는 당신의 코드를 이해하고 좋은 생각처럼 보이지만 TIO에서 작동하도록 할 수는 없습니다.
Charlie

복사 / 붙여 넣기를 시도하지 마십시오. Stack Exchange는 너비가 0 인 문자를 주석에 삽입합니다.
Neil

@Neil 그 이유는 내가 직접 코드를 작성했을 때 갑자기 작동하기 시작했기 때문입니다. :-)
Charlie

아, 그것은 5 바이트 절약입니까? 차콜의 l옵션 을 신뢰하는 나의 잘못 ...
Neil

40

, 666 바이트

J⁶³¦³⁰←×⁷⁷_↑³⁶.→⁷⁷↓.↓³⁶↖J±⁷±⁴”}➙◧﹪ε⎆T⎆¿⊘W?⁸ω⁷{↙n,θ<YθTLUeK%I(+↥C…hχRνGζ)ητR✳⮌⁹πj,⊞R∕!lD)CN✳χG-=ê⊕l⟧RP↙§m∧E⁴F≧GW!↨⪪⟧⟦⟦X=G﹪ς←´:¦B^⟲⊟H⌀SM⦃}´↶E$zfI⮌εÞ⁶ι⟦⁺~W]XιθZ¦@|θ⦃‴1₂↑dA=÷PTι^V⪪Na÷⌈b#lQ+;BT⟲⌀6↑↥\⁺◨ⅉ8'Àq;?.6μ″D⎇M3§ν⁻φG>2Σ¿⟧u←@6nh¹⮌↧,‴¹f↧M⁵|Dυχ¶3⊘>γQ·UB×NO³{Lκ3¤³ν⊕φβ.¤+xl⁷MΠ⦄η+L➙⁺[Dσ◧;≔e=F⊘ξρHλκL`S"d|N℅⊗0§χ~vH⍘À§⊕g↖c@Π]R¦⎆πEx⁶⪪~;⸿j}⊗⊙↷A‹›N·?CX[´m'Jχ0`-⪫νd⪫⎆/M⍘ζG&G⟲F¿G⍘×.#ςςm≧ω²Eⅉmv`⊞ω9Þ·'ZNN→J&γQ«T~_J6◨z⪫OBg¤upε↷~⁵T«P{Zr»λ≔u⧴⁰ⅈ|≕q⊕≔χz⮌…@MυA➙⭆/TLF}¤N*N⁰⁶↖¬∕κE>α;|W"h↙⊘⁹}Σ1⁰g⮌FRü0AÀ⊗"⁸$”F⁵F⁵«J×¹⁵ι×⁷κ←×¹¹_↑⁵.¹¹↓.↓⁵»F²³«J×¹⁵I§”o⊞O↧▷⁰$ê;”¦ι×⁷I§”o⊞-Y~Fι,]”¦ι¿‹ιIθ«Mχ←↓ →\↑⁵← \»«↖UO±⁷±⁴ ←←⮌I⊕ι»»J³⁴¦¹⁷↓  H ←____↗↑ ~  ⁴¿‹²³Iθ«J²⁰¦¹⁷↘¹↓⁵↖↑\ »«J⁴⁴¦²⁰UO±²²±⁴ ← 42

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 실제로 골프는 아니지만, 나는 확실하지 않습니다 ...

J²⁵¦³⁰←×_³⁸↑³⁶.→³⁸‖OF²⁴«J×I§”o⊞∧№qGo⁴↨'”¦ι¹⁵×I§”o⊞Þ‹wα≕YQ”¦ι⁷≔⎇⁼²³ι²⁶⊕χη←×_η↑⁵.η↓.↓⁵↑¿‹ιIθ«Mη← ¶\↑⁵← \M⁴→…⪪✂”}⊞μ↓↙J∧W⎚2⁻⁹]jι|T◨%êⅈπ↔{Mⅈ⎇_u9⁹F⪫4AGhd⪫CNb↷a^AnQ⌀oV←×⟦c″⁵FιO↗ωsXςb⁶β|(α)ⅈ,gB№$¹ξU=◨↷…Yn´;⎆Σd$=1%▷≦″“}υ⌈ν§V?Wξ⌈‖⦃⊗↓⎚K⎚✳V✳V?↗⎆¶﹪⊙⟦≧*(▶″$Q;\⟲↶A⊗s≧»Πj⁸⎆↑´T≡⁵K⊙αηI3⊙✂“↗⌕N~e%⬤Iη◨γ·y⁸_Gλ↙%EO)⎆$YP“¦7ê⁵№¹▷⟦α)ν&℅◨⦄S“⁹aEX>➙8)↨§+φ✳⁸WR&;⎚◧⎆¬▶B³u▷J±÷δ+⁺↖M≧;↧χw➙Oθ✂⁺⁶r⟦GεCVY↖<⁻◧⁹DK‴1⌀✂$k\φ{0·M℅,ρ)S⎇⸿3oψJ5$\`↗⁰⊙0c¤?&?⌕↗Uε¦⎆~b&d⊞÷f¬;T-χUnν⁶{⊖″;f._⟦#⊗V2⍘¬T.(⁻<V⊗№êx⊕₂⦃ΣσGτ¹yΣ2⁶⧴em⁷WÀI>]≔A↘_2↓⁴⸿¦y⌕ⅉ﹪B7”×ι²⁸φ¹⁻η⁴¦⁴»«↖←←←⮌I⊕ι

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 이것은 @Charlie에서 몇 바이트 더 떨어져 골프를 치기 위해 몇 가지 아이디어를 훔친 후 577 541 530 바이트로 선물을 별도로 그리는 버전입니다 .


59
사탄 절이오고있다
LiefdeWen

걱정하지 마세요. 또한 몇 가지 아이디어를 빌려 왔기 때문에 우리도 마찬가지입니다. :-)
Charlie

24

파이썬 2 , 1322 1319 1287 1265 1061 1059 1056 1032 1030 바이트

n=input();k=' '
print'.'+'-'*77+'.'
for l in'','','\n','	','\r':
 for L in zip(*[['| ']*7]+[['.'+'-'*q+'. ']+['|'+[(['\  ']+[' | ']*6)[j]+"eJxNUkFuGzEM/Mo0qKFd2Uvdm7pAERRoD0bgpIoTRDGNoJcc2tx6saK3d0a7CEphwSVHpIYjweAwZLyV63SWT7HIpxhjwR7wPw7GGC5G+i8DXjF+zgPoMe4xmdsk3NamfQMOGBWfLk5QvR1fez5cBubPpa5reiP+a3oW7uzryINY+Mhz8QlFcUJx9gc+op9fN3X2kDevXCbchHvf7/mkyAL72NFm/jTN4ytPNauKHWafsHe37XbjeZrq/X2dMojyAJ5PC6y3vrK9OJflOrU2NdXLKvnzPPHH6W8A+RfGSTxxhz5/bf/zZu5hnocEZnw755NKM+qwGqu82hPfcHdEXmvOddcZAZbbbJr/ufezEAJ5nuOWi/oG3ov4d3q9Lli4lg7uZZmv68t7J/6IJ8qJZa6ReshC1/cy9PrfwnE16wMRrL0/BbRs3MxcLr0+5dNWFqhvKtK/eEm8opwUF9WXJH3sQHkP1DVSn1jffdgF8FP/l2W+learx9aM+nufz/W+rL+7EPnkxD+V6DU/dh5Pql/j3driJXcrS2r37ebmoUNUp0XlG66+3/y4/bn7evsBLSvb4rJf1v/+AYT9zU8=".decode('base64').decode('zip').split('Q')[i-1].split('U')[j],k*(q-4)+'%2s '%(`i`*(j>2))][i>n]+' | 'for j in 0,1,2,3]+[['| |'+'_'*e+'| ','|'+'_'*q+'| '][i>n],[' \|',k*3][i>n]+k*q]for i in map(ord,l)for(q,e)in[[11,26,9,24][i>23::2]]]):print k.join(L),'|'
print'|'+'_'*77+'|'

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

Mr.Xcoder 덕분에 -4 바이트

Lynn 덕분에 -24 바이트


압축 버전 (Lin 및 ov 덕분) :

파이썬 2 , 1021 1017 1013 바이트

exec'eJxNVG1P2zAQ/s6vuFWrHDuOQ1JGWVmRJjRpk6hQYR6gOLhCY1IK6wuwfRgmv33POWHaRdX17nxvj323mjarza+nRB7eTQWJnc1Ds3oSRqQiE2o8TvF358f6ge6pWVWlLsb6QBfgta72dVHocle/02UJcaSLXV1AGOkxxGJfv9flni4OIIDBDLnQxV492SEOeYKQ9KfZJKqqRCBRq3GdVkn1mn2L5NCmMIqod9SJFA/vy2pZp4PBgAx5/Cy9uNP8mXmuHPNcKeVoTuRXniBTMpDgRwmtSX6wCYGTnFNmvMnYblLD5xK6IMnyYrAg9jfX66gXhwL6ZxfSkL/A/j27YbtHXE824Sq8RF6akGM5J+cRn+gtxfxBh44Tc+MDPsN2w3Yfz3u7YMkIxDHXpqsfxP34oc+DZS9E6HhOc+/NdKq9zbJweRkyS7AiAfKDBPxN/KxpPD5jQ9a2Wcv+TAH1Ix/XT4vfglA/cEYPqJO+Uew/tP/XDd1V1w8K6OzTTp+zq6WQDGVgzuFh1zityKbcZxpxJkHGth1x/zcxnhECN26f1RQf8BW4F64/lhf98DROGQfvXd9fxBf3DntFNeCkvi8JPJhExPdQRP+fbKfjDh/iAkOMDwCNNTgMnXXRP7eLKZMAvrlj/J13Oa7I5iw79nc542MuAO8FcFXAR4V/XMwwULOYv+n7G3J/4bptDfD3sT/P78vEdycUnhzXnzvlg61iHTX7p/SP2p4z3K3rVbNPZ2dX0QR0WsX6lo4/n305/zr7eP6GWsvaVvXnmeI/TI953Nw3T4mYC1k1WVG/ylbwfOk7lWyzPZmKYflIYpgsmoVKlkellHXVHK3qNE4jj/OSxxkbQJd6hCnlkcbcCi/UbcrjrUUvbqPYuWtMswsCaUZ9vDu1rSXHazjePW+KZKtvJdZPxfumWyt8uBxNJmVd13ISlxbdmeW6WSUnkjP1i6xPyYsMur+PXj21'.decode('base64').decode('zip')

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


1
이것은 매우 인상적입니다. 잘 했어!
Eric Duminil

23

Befunge, 1220 1198 1186 바이트

<v5,,$$_\#!:,#-\#1<,".N-."+55p00&
v>1-:10p:1-!30p7>1-::0`\5`+3+8g40p::6\`\1-!+6+8g50p" |",:,,:530g
>-1-:20p:1-!30g* 35**60p10g5*+9+8g57*-:70p00g`!\6\`*40g,v
|01g07p09!`3%7+5 :p08+*27-\*4/8-1g07:,g05,g8+2`4:,g8!%5:_:2-v
>-8%7*60g7+:!v!:-1\+1,+*g05< v!\$_1#!-#:\:#,<:g05-*3\+9g06:!<
# +%68*+,:,v$_\: 80gg90g*:!^v_70g:55+/:68*+\!88+*-,55
^^<<<<0<<<<>$50>0$#<>#5g#$,#<40g,48*:,,:v>1
"|_M|"+55_^#!:$_^#!,,"|"+55$_>#!:$#g02$#<^v!:\,<
 \| |.- _1860'5;,3#*:2-&9(7.)$/+4%   @,,$$_1-\:^
   +    _(")_   _n_     $      .     ____ __.==,_  |~|
  /~\  (_ . _)  (")    |,|  __/ \__ /_%_/|--|XX|-  | |
 /~*~\  / : \ >( o )<  | |  `.   .'|_|_| | _|  |    Y
/~*~~*\(_/ \_)(  o  )._|_|_. /.^.\ |_|_|/ (____'   _|_
 . . .  _   _    i   _{/ _{/    _     b   \  ====   .-.
.i_i_i.( `v' ) .'%'.   \_/    .'.'O .'''. \\\|+-|  //`);
|-~~-~| \   / |^~~.~|  /O \  /___\ {*=*=*}\\\\\+| %%
|_____|   V   _'._.'_@__,/\\(_____) '._.' \\\\\\\//
  \O/  __/\__  ('v')  \   /    .==.   .;'   ...  .&%$+*.       ~
[ ]|_. \_\/_/ //   \\._o_O_..--'  |  .m_.  '*  ` */'"'\&   ~ MERRY ~
|_____)/_/\_\ |\   /||/\/\/|\_____/ C|  | |_/\*_|$\._./% ~ CHRISTMAS! ~
------'  \/     Y Y  """""""`====='  |__| [_____]'%&*+$'     ~~~~~

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

그림을 압축하여이 문제를 계속 해결할 수는 있지만 현재 TIO에서 지원되지 않는 확장 ASCII 문자를 사용해야합니다.


확장 ASCII는 어떻게 지원되지 않습니까?
Zacharý

@ Zacharý TIO에서 Befunge 인터프리터는 UTF-8 문자 세트를 사용하도록 구성되어 있으므로 소스에 확장 ASCII 문자를 포함하려고하면 대신 멀티 바이트 UTF-8 시퀀스로 변환됩니다.
James Holderness

befunge-polyglot 답변에 사용한 Befunges 중 하나가 확장 된 ASCII를 처리 할 수 ​​있습니까?
Zacharý

1
@ Zacharý 문제가되는 것은 통역사가 아닙니다. 대부분의 통역사는 확장 ASCII를 잘 처리 할 수 ​​있습니다. 문제는 TIO가 웹 페이지 입력을 인터프리터로 전달하기 전에 웹 페이지 입력을 변환하는 방식에 있습니다.
James Holderness

나는 이것들에서 사진이 완전히 보이는 것을 좋아합니다!
돔 헤이스팅스

13

파이썬 3 + NumPy와,
1164 1159 1123 1103 1097 1065 1061 996 994 바이트

모든 것을 압축하고 numpy를 사용하여 묶습니다.

먼저 닫힌 문을 만든 다음 열어야하는 문을 교체하십시오. 마지막으로 모든 것을 출력하십시오.

Mr. Xcoder 덕분에 -22 바이트 . notjagan
덕분에 -5 바이트 .

편집 : <1000 바이트!

import lzma,base64,numpy
def g(i):
 a,b,c=[numpy.array([*map(list,i.split('#'))])for i in lzma.decompress(base64.b85decode('T>t=p0RR90|NsC0{{R;Yb2=9ZB3vrGRZhN&js}K8Jmx>v0UA+%!XNuvypanfw-On6yWAqj;f`A@KhRXYG|EfWG~vnf74-|TMD9O<F~(ETm1ht`IL9PRn$&D6@Y`ipqj|2Ks2<w>M0$9alb)6kEp5V>=}iliy4by-zIAEIDqtxiie`c-6+Y_|0z6A#o^?bVc8rNg(dZq)&RMVNZfUWe9`uW87eke^e(U)p=MxBK<aHfTf^JIaEkVa{$4ct<>U}>seZ>tXR2yYjN4W~W;4T16Lv_gAVbahgLo23$DPcrdfNc#QKNxGKmP}?>l;j`Eqj*EArIMnEHDC^u(JA0-eXP$Dx!}mqnSiX}lV507wtt#)-Y{K8q<bZx*3<UiIyS__cP#9?=eN*+sh{-OgeVPlr}`jFjZnFR5NVI(DC8>d%B9EZ=gGyMp)jVbx#uVGLDHNS8Ht`@nS~?ji$ls${$28WROQ@UlY>?I1yXSuWNx7+$YlLSM2tP^f1Vl92;=q~#2jV2qwZB}$El*yJ9lpEpg5&X=pYfDIT;IHs;wMLzIOhXWsm-1n5J{Afro^Zv~Fw$_ylaND7>_!(y1hiO*la?Xms}*M82nm86zo6Lpf%>K)!16qKK7m8<A!0_88GZtXScr*7YoejPFWfmdKNN&;MKgQUoU')).decode().split(':')]
 if i>23:a[23:27,45:59]=c[:,168:]
 while i:i-=1;h=ord('EAKUIFOCQLGDVYMPBTWHXJNR'[i]);v,u=h//5*7-89,h%5*15+6;a[v:6+v,u-3:u]=b;a[v:4+v,u+1:u+8]=c[:,i*7:i*7+7]
 for i in a:print(''.join(i))

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


7

C (gcc) , 1296 1291 1211 1166 1164 바이트

그래도 아주 긴 줄입니다 (전체의 59 %!). 그들 언덕에는 금이 있습니다. 느낄 수있어.

편집 : 금이 있다면 지금까지 얼룩 만 발견했습니다.

편집 : ceilingcat 덕분에 -2 바이트

#define D"BQHLAFKTEVCJOWGPIX@RDMSUN"[p=r*5+c]-64
#define O D<=n
#define P printf(
#define G(x)for(x&&P"  |\n|"),c=0;w=D^24?7:22,c<5;c+=1+(D==24))
#define m(c,n)memset(calloc(n+1,1),c,n)
char*x[]={"_|","\\","33 ","6 ","__",".'","  "," ."},*v,*u;U(char*q){for(;*q;q++)*q>47&*q<56?U(x[*q-48]):(*u++=*q);}t[4],r,c,s,w,p;f(n){P".%s.\n",m(45,77));for(v=u=m(r=0,732),U(".W.7W.|*| |*||*| |*|'M' 'M'_'_3 ) (^.^_1./v`v' oO833+36/~13/~*~1 /~*~~*16.^o3(';') {1|+|/}6d-b3_(\")_ (_7 _) / : 1 (_/ 1_)6_n_3 (\")6>( o )<(6o6)3$36|,|3 | |6.00_.3.34/ 14`.35 /.^.16.1^/. <->o<-> '/v1`23446/_%_/||00 ||00/ 4.==,_--|XX|- 06| (44'3.*.3 /.13|_-0 (.-o-.) _3_ (O X O) / ^ 161/ 1/6.777i_i_i.|-~~-~||4404444j_j_j_ ||_0 0/$$|_ _3_ ( `v' ) 13/3 V33i3 5%'. |^~~.~|_'._5_ 4/142~2 1_1/_/3~ MERRY ~3 /_/1_1 ~ CHRISTMAS! ~31/2~~~~~2|=|3 / 13|(%)|6|4037;'3.m_.6C|6|3|_06,3* +6. +3. '7~~~~~~~3.-.3//`); %%3 //2 b3 5''. {*=*=*} '._536_3 55O /4_1 (44_)");r<5;r++){P"|");G(s=0)P"  .%s.",m(45,w+4));for(;s<4;s++)G(1)sprintf(t,"%d ",D),P"  |%2s %*.*s |",O?s?"|":"\\ ":"",w,w,O?v+p*28+p/18*32+w*s:s^3?"":t);G(1)P"  |%s%s|",O?" |":"__",m(95,w+2));G(1)P"   %-*s",w+5,O?"\\|":"");P"  |\n");}P"|%s|",m(95,77));}

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

비 ASCII 버전

ceilingcat 덕분에 -30 바이트 .

내 컴퓨터의 GCC는 즉시 충돌하는 것을 생성 하므로이 포크를 찾지 못할 것입니다. (TiO는 어떤 이유로 든 1120 바이트를보고합니다 (보고 된 문자 수와 동일)).

#define D"BQHLAFKTEVCJOWGPIX@RDMSUN"[p=r*5+c]-64
#define P printf(
#define G(x)for(x&&P"  |\n|"),c=0;w=D^24?7:22,c<5;c-=~(D==24))
#define m(c,n)memset(calloc(n+1,1),c,n)
char*v,*u;U(char*q){for(;*q;q++)*q<48|*q>55?*u++=*q:U(L"籟\\\x203333‶彟✮†⸠"+*q-48);}t[4],r,c,s,w,p;f(n){P".%s.\n",m(45,77));for(v=u=m(r=0,732),U(".W.7W.|*| |*||*| |*|'M' 'M'_'_3 ) (^.^_1./v`v' oO833+36/~13/~*~1 /~*~~*16.^o3(';') {1|+|/}6d-b3_(\")_ (_7 _) / : 1 (_/ 1_)6_n_3 (\")6>( o )<(6o6)3$36|,|3 | |6.00_.3.34/ 14`.35 /.^.16.1^/. <->o<-> '/v1`23446/_%_/||00 ||00/ 4.==,_--|XX|- 06| (44'3.*.3 /.13|_-0 (.-o-.) _3_ (O X O) / ^ 161/ 1/6.777i_i_i.|-~~-~||4404444j_j_j_ ||_0 0/$$|_ _3_ ( `v' ) 13/3 V33i3 5%'. |^~~.~|_'._5_ 4/142~2 1_1/_/3~ MERRY ~3 /_/1_1 ~ CHRISTMAS! ~31/2~~~~~2|=|3 / 13|(%)|6|4037;'3.m_.6C|6|3|_06,3* +6. +3. '7~~~~~~~3.-.3//`); %%3 //2 b3 5''. {*=*=*} '._536_3 55O /4_1 (44_)");r<5;r++){P"|");G(s=0)P"  .%s.",m(45,w+4));for(;s<4;s++)G(1)sprintf(t,"%d ",D),P"  |%2s %*.*s |",D>n?"":L"|⁜"+!s,w,w,D>n?s^3?"":t:v+p*28+p/18*32+w*s);G(1)P"  |%s%s|",D>n?"__":" |",m(95,w+2));G(1)P"   %-*s",w+5,D>n?"":"\\|");P"  |\n");}P"|%s|",m(95,77));}

이데온 링크


3

C (gcc) , 2798 1976 1963 ... 1862 1742 1703 1651 1634 1632 바이트

ceilingcat 덕분에 -2 바이트

불필요한 ESC '\'문자를 피하기 위해 몇 가지 아이콘을 교체했습니다.

(*L)()=printf;
#define E else L
#define W"  |"
#define V W" | %.7s "
#define S(x)else if(i<x)L
#define D(x)for(i=0,++j;i++<x;)
#define R L("%s.%1$s.%1$s",I);L(q^7?".%s.%1$s":"%2$s----.%1$s",I,I+3);L(".  |\n|");D(30)d(n)
char*P="_______   +    _(\")_   _n_     $      .     ____ __.==,_  .*.   _   _  . . .  _   _   |~|   //'`\\   |=|   ,   *    j   .&%$+* |  _  | ('v')    .==..W. .W.  ...     .-. _j_j_j_  /~\\  (_ . _)  (\")    |,|  __/ \\__ /_%_/|--|XX|-  /.\\  (O X O).i_i_i.( `v' )  | |  //....\\  / \\  +  . +  .'''. */'\"'\\&| ($) |//   \\\\.--'  ||*| |*| '*  `   //`); ||__|  /~*~\\  / : \\ >( o )<  | |  `.   .'|_|_| | _|  |  |_-_|  / ^ \\ |-~~-~| \\   /    Y   ||()()| |(%)|   . ' .{*=*=*}$\\._./%|  \" o||\\   /|\\_____/|*| |*||_/\\*_| %%    _|/$$|_/~*~~*\\(_/ \\_)(  o  )._|_|_. /.^.\\ |_|_|/ (____' (.-o-.) \\/ \\/ |_____|   V     _|_  ||_[]_| |___| ~~~~~~~ '._.' '%&*+$'| === |  Y Y  `=====''M' 'M'[_____]//     CRIMBGLUFWDKPXHQJYASENTVO",*I="  .-----------",*T="_________";q,i,j,k,l,g;d(o){l=(i-1)%5+j*5;k=7*l+168+168*(i>10)-(g=7*(l>17));if(q=P[672+l]-65)if(q>o)if(q^24)if(i<16)L(W"%9c"W,32);S(21)(W"%10d |",q);S(26)(W"_%s_|",T);E("%15c",32);S(16)(W"%26c|",32);S(21)(W"%25d |",q);S(26)(W"%s%1$s%s|",T,T+1);E("%30c",32);else if(q^24)if(i<6)L(W"\\%9.7s |",P+7*l-g);S(16)(V"|",P+k);S(21)(V"|",P+7*l+504-g);S(26)(W" |%s|",T);E("   \\|%10c",32);S(6)(W"\\%9.7s %7c%9c",P+7*l,'~','|');S(11)(V"%s"W,P+k,"  ~ MERRY ~  ");S(16)(V"%s |",P+k,"~ CHRISTMAS! ~");S(21)(V"%9.7s    "W,P+7*l+504,P+608);S(26)(W" |%s%1$s%s|",T,T+3);E("   \\|%25c",32);i%5||L(W"\n|");}f(n){L(".");D(77)L("-");L(".\n|",j=-1);R;R;R;R;R;D(77)L("_");L("|");}

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


나는 그것이 당신에게 어떤 바이트 비용이 들지 모르겠지만, 이미지는 창문 내에서 올바른 위치에 있지 않습니다 ...
Dom Hastings

@DomHastings 감사합니다, 나는 그것을 눈치 채지 못했습니다. 이제 수정되었습니다.
cleblanc

@ceilingcat 정말 깔끔한 트릭입니다. 나는 그것을 많이 좋아.
cleblanc


2

루비 , 966 바이트

->n{a=%w{8. 99|/ 99|1 8' .;.. |//| |// |=_ 9.W. 9|*| 9|*| 9'M' _99| $)9| "9o| ==9| ~| 9| Y9 |__ .9. i_i. ~8~| ___| $ ,| 9| _|_. ^/. o<8> v1` 9 _9. O/{ *1{ **1 n_ ") o9)< o99) v') 9911 99/| 9Y *. .1 8_| o8.) _.8 +. W9) "` 993 _O_. /1/| """" + ~1 *~1 ~451 . 91__ 99.' ^.1 =| 91 %)| __| ")_ .9_) :91 91_) 99_ X9O) ^91 91/ 99_ v'9) 99/ V ^o ;') +|/} 8b b ''. *=*} _.' i9 %'. ~2~| _.'_}
b=(0..34).map{?|+" "*77+?|}
96.times{|i|z="EAKUIFOCQLGDVYMPBTWHXJNR"[j=i/4].ord-65;y=z/5*7
t=j<n
b[l=1+y+k=i%4][x=z%5*15+3]=b[l][x+12+m=i/92*15]=?|
b[y+(k+4)%7][x,13+m]=["|%*d  |"%[9+m,j+1],(t ?"| |":?|).ljust(12+m,?_)+?|,(t ?" \\|":"").ljust(13+m),?.+?-*(11+m)+?.][k]
w=i>91?["~%14s"%".-. ","~ MERRY ~     //`);","~ CHRISTMAS! ~ %%    ","~~~~~     %-6s "%"//  "][k].rjust(24):(a[i][1,3].reverse.tr("1/;o)8~`></1{)O3451')/bo}~2"[j,5],"/1, (~8'<>1/}(o1*~/`(1d.{^~"[j,5])+a[i]).center(9)
t&&b[l][x+1,11+m]="\\  | | |"[k*2,2]+w.tr('1345298','\\\\/~*. -')}
puts ?.+?-*77+?.,b,?|+?_*77+?|}

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

더 골프화되었지만 코드의 그림을보기가 더 어렵습니다.

루비 , 974 바이트

이것은로 지정 f되고로 불리는 변수에 할당되는 함수 f[n]입니다. stdout으로 인쇄합니다.

예상보다 오래 나타났다. 그림 데이터를 다르게 배치하여 짜낼 바이트가 더 있다고 생각합니다. 나중에 시도하겠습니다.

대칭 또는 거의 대칭 사진을 사용하며 코드에는 오른쪽 절반 만 있습니다. 왼쪽 절반은 오른쪽에 비해 최대 5 개의 문자 대체 문자를 가질 수 있습니다. 대체 코드는 상당히 길어 압축을 부분적으로 무효화합니다. 약 60 바이트 만 저장됩니다.

->n{a=%q[8.
  |/
  |1
8'
.;..
|//|
|//
|=_
 .W.
 |*|
 |*|
 'M'
_  |
$) |
" o|
== |
~|
 |
Y 
|__
. .
i_i.
~8~|
___|
$
,|
 |
_|_.
^/.
o<8>
v1`
 
_ .
O/{
*1{
**1
n_
")
o )<
o  )
v')
  11
  /|
 Y
*.
.1
8_|
o8.)
_.8
+.
W )
"`
  3
_O_.
/1/|
""""
+
~1
*~1
~451
.
 1__
  .'
^.1
=|
 1
%)|
__|
")_
. _)
: 1
 1_)
  _
X O)
^ 1
 1/
  _
v' )
  /
V
^o
;')
+|/}
8b
b
''.
*=*}
_.'
i 
%'.
~2~|
_.'_].split($/)
b=(0..34).map{?|+" "*77+?|}
96.times{|i|z="EAKUIFOCQLGDVYMPBTWHXJNR"[j=i/4].ord-65;y=z/5*7
t=j<n
b[l=1+y+k=i%4][x=z%5*15+3]=b[l][x+12+m=i/92*15]=?|
b[y+(k+4)%7][x,13+m]=["|%*d  |"%[9+m,j+1],(t ?"| |":?|).ljust(12+m,?_)+?|,(t ?" \\|":"").ljust(13+m),?.+?-*(11+m)+?.][k]
w=i>91?["~%14s"%".-. ","~ MERRY ~     //`);","~ CHRISTMAS! ~ %%    ","~~~~~     %-6s "%"//  "][k].rjust(24):(a[i][1,3].reverse.tr("1/;o)8~`></1{)O3451')/bo}~2"[j,5],"/1, (~8'<>1/}(o1*~/`(1d.{^~"[j,5])+a[i]).tr('134528','\\\\/~*.-').center(9)
t&&b[l][x+1,11+m]="\\  | | |"[k*2,2]+w}
puts ?.+?-*77+?.,b,?|+?_*77+?|}

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


좋은! 그림 선택이 골프의 초점이되는 것이 나의 의도였다!
Dom Hastings

1

클로저 , 1530

사용해보십시오

clojure 솔루션은 아마도 조금 더 짧을 수도 있지만 여기에 첫 시도가 있습니다.

(defn a[x](let[k clojure.string/join b" . _ .  }\\O/{  }/*\\{  /***\\  _'_    ) (^.^ \\./v`v  oO8     +     /~\\   /~*~\\ /~*~~*\\  .^o   (';') {\\|+|/}  d-b   _(\")_ (_ . _) / : \\ (_/ \\_)  _n_    (\")  >( o )<(  o  )   $     |,|    | |  ._|_|_.   .   __/ \\__`.   .' /.^.\\  .\\^/. <->o<-> '/v\\`          ____  /_%_/||_|_| ||_|_|/ __.==,_--|XX|- _|  | (____'   .*.    /.\\   |_-_| (.-o-.) _   _ (O X O) / ^ \\  \\/ \\/  . . . .i_i_i.|-~~-~||_____|________j_j_j_ ||__| _|/$$|_ _   _ ( `v' ) \\   /    V      i    .'%'. |^~~.~|_'._.'_  |~|    | |     Y     _|_   //'`\\ //....\\||()()|||_[]_|  |=|    / \\   |(%)|  |___| _{/ _{/  \\_/    /O \\ @__,/\\\\ ,   * +  . +   . ' .~~~~~~~\\  ====\\\\\\|+-|\\\\\\\\\\+|\\\\\\\\\\\\\\   b    .'''. {*=*=*} '._.' " z(fn[n]#(.substring %1(* n %2)(+ (* n %2)n)))i(z 28)j(z 7)s str r #(apply s(repeat %1 %2))m["       ~       ""   ~ MERRY ~   "" ~ CHRISTMAS! ~""     ~~~~~     "] c #(let[w(if(= 24 %)26 11)](concat[(s"."(r w"-")".")](for[i[0 1 2]](s"|"(r w" ")"|"))[(s"|"(r(- w 4)" ")(if(< % 10)" ")%"  |")(s"|"(r w"_")"|")(r(+ w 2)" ")]))o #(let[w(if %2 26 11)](concat[(s"."(r w"-")".")(s"|\\  "(j %1 0)(if %2(m 0))" |")](for[i[1 2 3]](s"| | "(j %1 i)(if %2(m i))" |"))[(s"| |"(r(- w 2)"_")"|")(s" \\|"(r(- w 1)" "))]))d #(if(< x %)(c %)(o(i b(- % 1))(= % 24)))](println(s"."(r 77"-")".\n|  "(->>(for[p[[2,17,8,12,1][6,11,20,5,22][3,10,15,23,7][16,9,24,18][4,13,19,21,14]]](map #(d %1)p))(mapcat #(apply map vector %))(map #(k"  " %))(k"  |\n|  "))"  |\n|"(r 77" ")"|\n""."(r 77"-")"."))))

실행 길이 인코딩을 사용하여 바이트를 저장할 수 있는지 궁금합니다. 디코딩이 얼마나 짧은 지 모르겠지만, 거의 동일한 문자가 거의 없습니다 ...
Dom Hastings
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.