피자 만들어 줘


17

토요일 (UTC)이고 배가 고파서 피자 한 조각을 원합니다. 나는 당신에게 명령을 내릴 것이고 나는 멋진 뜨거운 원합니다. 피자를 . 도전까지?

드라이브 스루

STDIN, 함수 매개 변수, 명령 줄 인수인지 여부에 관계없이 드라이브 스루 위치에 상관없이 주문을하지만 변수에 넣지 않을 것입니다. (JS 함수 표현식은 변수에 지정되어야합니다.)

순서

내 주문에는 2 개의 부품이 있습니다. 먼저에서 0이 아닌 양의 정수 것 3까지 6. 이것은 내 피자의 크기입니다. 예를 들어, 6토핑이없는 크기 피자는 다음과 같습니다.

 /=====\
/       \
|       |
|       |
\       /
 \=====/

사이즈 5:

 /====\
/      \
|      |
\      /
 \====/

사이즈 4:

 /===\
|     |
|     |
 \===/

사이즈 3

 /==\
|    |
 \==/

토핑

내 토핑은 대문자로 표시됩니다. 가능한 값은 다음과 같습니다.

P-페퍼로니
S-소시지
N-사과
J-할라피뇨 스
B-바나나 고추
C-베이컨

당신은 어딘가에 피자에 맞게해야합니다. 크기 4와를 주문 PSPCJ하면 유효한 출력입니다.

 /===\
|PSPCJ|
|     |
 \===/

이것도 마찬가지입니다 :

 /===\
|P P J|
| S C |
 \===/

이:

 /===\
|     |
|PSPCJ|
 \===/

지각이나 서로 위에 있지 않는 한, 토핑이 피자의 어디에 있는지는 까다 롭지 않습니다.

픽업 창

STDOUT, 파일, 함수의 반환 값은 포함하지만 변수는 포함하지 않고 피자를 데리러 갈 곳이 많습니다.

추가 물건

  • 금지 된 표준 허점
  • 이것은 로 태그 되어 있으므로 바이트 단위의 최단 답변이 이깁니다!
  • 유효하지 않은 입력에 대해 걱정하지 마십시오 (토핑> 피자 공간 등).
  • 예를 보려면 아래의 답변 (JS ES6)을 참조하십시오 (더 잘할 수 있기를 바랍니다)

3
음, 그럼 드라이브 스루에서 피자를 주울 수 있습니까?
Matthew Roh

1
피자 상자의 오른쪽 상단과 오른쪽 하단에 공백을 채우는 것이 까다 롭습니까? ;)
DLosc

1
@DLosc 아니오, 라인 끝의 후행 공백 (출력 끝의 후행 줄 바꿈 포함)은 선택 사항이지만 필수는 아닙니다.
programmer5000

1
수 피자 가지고 하나 이상에 대한 하나의 토핑 ̶ 그렇다면 당신 같은 파인애플 : ̶ ̶ ̶5̶,̶ ̶N̶N̶N̶̶이며 또한 유효한 입력 ̶ (또는한다 그것을 할 ̶ ̶5̶,̶ ̶N̶̶ 대신) ̶ ̶ 또한 버섯이 어디에 ...? :( 편집 : 첫 번째 질문에 대해 신경 쓰지 마십시오. 테스트 사례에 2 배가 있음을 알 수 P있습니다.
Kevin Cruijssen

주문 링크를 게시 할 수 있습니까 ? xD
FantaC

답변:


1

, 87 81 75 바이트

74 바이트의 코드, -l플래그의 경우 +1

e:'/.'=Xa-1.'\Y['/'\]Xa//5J'|X2-a%2^xPs.ePy.(b.sXa*a-a-2-#b<>a+1).RVys.RVe

입력을 명령 행 인수로 사용합니다. 온라인으로 사용해보십시오!

접근하다

e와 같은 맨 위 행 /=====\입니다. 반대로하면 맨 아래 줄이기도합니다.

y왼쪽 테두리입니다 (예 :) ["/" "|" "|" "\"]. 반대로하면 오른쪽 경계이기도합니다.

그런 다음 b, 토핑 을 가져 와서 길이에 공간을 채우고 (a+1)*(a-2)( a크기는) 행 목록으로 그룹화 하여 중간을 만듭니다.

마지막으로 맨 앞 줄을 선행 공백으로 인쇄합니다. y왼쪽과 RVy오른쪽 사이의 중간을 연결 하고 인쇄하십시오. 맨 아래 줄을 선행 공백으로 인쇄하십시오.


이 치즈 (토핑 없음) 피자와 함께 작동합니까?
programmer5000

@ programmer5000 예.이 경우 두 번째 cmdline arg는 빈 문자열이어야합니다 (실제 명령 줄에서 실행하는 경우 인용해야합니다).
DLosc

5

파이썬 2 , 202,198,190,177,162,157, 146 바이트

n,t=input()
y=n+1
s=' '
l=' /'+'='*(n-1)+'\\ '+('','\n/'+s*y+'\\')[n>4]+'\n|'
print l+t[:y].center(y,s)+('','|\n|'+t[y:].center(y,s))[y%2]+l[::-1]

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


'\\', '|', 그리고 '/몇 바이트를 골프 오프하기 위해 변수에 할당 할 수 있습니까? 이것이 JS 답변에서 많은 부분을 면도 한 방법입니다.
programmer5000

나는 단지 그 일을하고있다 !!!!
Keerthana Prabhakaran

1
또한, 첫 번째 대체 할 수 (n-1)(--n)1, n>4과의 n>3, (n+1)(n+2), 마지막 (n-1)으로 n4 바이트 오프 면도를?
programmer5000

2
파이썬은 --연산자를 지원하지 않습니다 !
Keerthana Prabhakaran



1

자바 스크립트 (ES6) 170 161 바이트

(n,t,a=[1,,n%2||2,,1])=>` /=\\
/___\\
|___|
\\___/
 \\=/`[r=`replace`](/.+/g,s=>s.repeat(a.pop()||n>4))[r](/=|_\b/g,`$&`.repeat(n-1))[r](/_/g,_=>t[i++]||` `,i=0)

너비 2와 높이 5의 Misshapen 피자를 시작하여 수평으로 늘리고 적절하게 수직으로 조정 한 다음 내부가 떨어지면 토핑이나 공간으로 바꿉니다.


0

JS (ES6) 257 255 249 248 246 244 바이트

m=s=>t=>(r="/",k="\\",p=" ",f="\n",x="|",c=f+x,q="",t=p+t,z=(s>2?p:q)+r+"=".repeat(s-1)+k+(s>4?f+r+p.repeat(++s)+k:q)+c+p.repeat(s)+x+(!s?c+p.repeat(s)+x:q)+p+(s>5?f+k+p.repeat(s)+r:q)+f+p+k+"=".repeat(s-2)+r,i=-1,z.replace(/ /g, x=>t[++i]||p))

m(4)("PS")페퍼로니 1 개와 소세지 1 개로 부르십시오 . 아마 더 골프를 칠 수 있습니다.


1
Jeez, 다른 사람들에게 대답 할 시간을주십시오 : P
Pavel

1
@ Григорий Перельман 나는 단지 예제를 제공하고 싶었습니다. 이것이 이기지 않기를 바랍니다.
programmer5000

0

, 37 바이트

Nθ /==×=⸿/›θ⁴⸿|‖BO↓﹪θ²‖BO⊕﹪θ²J¹¦¹⪪S⊕θ

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

Nθ

피자의 크기를 입력하십시오.

 /==

피자 상단 인쇄를 시작하십시오.

×=⸿/›θ⁴

피자가 더 큰 크기 중 하나 인 경우 상단과 측면에 추가하십시오.

⸿|

피자 쪽을 더 인쇄하십시오.

‖BO↓﹪θ²

피자의 왼쪽 절반을 겹치게 반사하여 완성합니다.

‖BO⊕﹪θ²

가변 오버랩으로 반사하여 피자를 완성하십시오.

J¹¦¹⪪S⊕θ

토핑을 입력하고 피자 안에 들어갈 수 있도록 조각으로 나눕니다.

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