할로윈 골프 : 2spooky4me 도전!


41

현재 인터넷 밈은 (n)spooky(n+2)me패턴에 따라 2spooky4me를 입력하고 두 번째 사람이 3spooky5me를 입력하는 것 입니다.

당신의 임무는 선택한 언어로이 패턴을 구현하는 것입니다. n표준 입력, 함수 인수 또는 가장 가까운 대안 으로 값을 가져 와서 (n)spooky(n+2)me괄호없이 표준 출력으로, 함수에 대한 반환 값 또는 가장 가까운 대안으로 문자열을 출력 하는 프로그램 또는 함수를 작성해야합니다 . ).

솔루션은 모든 입력에 대해 1언어의 최대 표현 가능 정수 값 ( 2^32-3예 : 32 비트 시스템의 경우 C) 의 최대 2보다 낮은 2 에서 작동해야합니다 .

파이썬에서 구현 예 :

def spooky(n):
    return "%dspooky%dme"%(n,n+2)

spooky(2) -> "2spooky4me"

이것은 이므로 표준 허점 은 금지되어 있으며 바이트 단위의 최단 답변이 이깁니다!

리더 보드

이 게시물의 하단에있는 스택 스 니펫은 답변 a) 언어별로 가장 짧은 솔루션 목록으로, b) 전체 리더 보드로 답변에서 리더 보드를 생성합니다.

답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.

## Language Name, N bytes

N제출물의 크기는 어디에 있습니까 ? 당신이 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :

## Ruby, <s>104</s> <s>101</s> 96 bytes

헤더에 여러 숫자를 포함하려는 경우 (예 : 점수가 두 파일의 합계이거나 인터프리터 플래그 페널티를 별도로 나열하려는 경우) 실제 점수가 헤더 의 마지막 숫자 인지 확인하십시오 .

## Perl, 43 + 2 (-p flag) = 45 bytes

언어 이름을 링크로 만들면 스 니펫에 표시됩니다.

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


2
보너스 포인트 : 입력 %dspooky%dme, 유효성 검사 및 다음 시리즈로 돌아갑니다.
clap


7
데니스는 누구입니까? : O
NuWin

10
@NuWin Dennis 가 그 길입니다. 데니스는 빛입니다.
Alex A.

1
@NuWin Dennis는 사랑, Dennis는 인생

답변:


44

gs2, 15 바이트

나는 데니스를 능가했다!

CP437 :

spooky•me♣╨V↕0B

육각 덤프 :

73 70 6f 6f 6b 79 07 6d 65 05 d0 56 12 30 42

프로그램 시작시 STDIN이 푸시되고 (예 : 문자열 "3") variable에 저장됩니다 A. 첫 번째 열은 프로그램 푸시 두 개의 문자열의 바이트, "spooky""me"스택에. 그때:

  • d0변수를 푸시합니다 A.
  • 56 숫자로 구문 분석합니다.
  • 12 30 2 씩 증가시킵니다.
  • 42스택에서 맨 위 두 요소를 바꾸고을 남겨 둡니다 "3" "spooky" 5 "me".

최종 스택은로 인쇄됩니다 3spooky5me.


4
이런, 짧습니다. +1
Addison Crump

11
GJ, 그러나 Dennis는 여기 와서 그의 명성을 유지하기 위해 당신을 앞질렀습니다.
TheDoctor

7
어떻게 그렇게 했어요
스파게티

3
방금 깨달았습니다 ... gs2는 "golf script 2"를 의미합니까?
mbomb007

5
그건 그렇고, 나는 온라인 통역사에 GS2를 추가 했습니다. 온라인으로보십시오!
Dennis

30

GS2, 17 바이트

56 40 27 27 04 73 70 6F 6F 6B 79 05 42 04 6D 65 05

데니스의 도움을받을 수 없습니다



3
사람, 우리는 현재 처음에 4 개의 언어를 묶고 두 번째에 묶인 3 개의 언어를 가지고있는 것이 너무 이상합니다. : P
ETHproductions

24

멈춤, 17 바이트

i_2+"spooky";"me"

편집 : 당신이 내가 17 바이트에 맞다고 말할 수 있다고 생각


1
D : 멋진 이봐, 누군가가 실제로 스턱 사용
카데

@ Shebang 나는 실제로 정말 붙어 좋아합니다. 배열을 조작하는 더 좋은 방법이 있다면 좋을 것입니다.
스파게티

21

GolfScript, 17 바이트

~.2+"spooky"\"me"

Web GolfScript에서 온라인으로 사용해보십시오 .

작동 원리

~        # Evaluate the input.
.2+      # Push a copy and add 2.
"spooky" # Push that string.
\        # Swap it with the computed sum.
"me"     # Push that string.



10

요리사, 414 바이트

S.

Ingredients.
g i
2 g t
115 l s
112 l p
111 l o
107 l k
121 l y
109 l m
101 l e

Method.
Take i from refrigerator.Put e into mixing bowl.Put m into mixing bowl.Put i into mixing bowl.Add t.Put y into mixing bowl.Put k into mixing bowl.Put o into mixing bowl.Put o into mixing bowl.Put p into mixing bowl.Put s into mixing bowl.Put i into mixing bowl.Pour contents of mixing bowl into the baking dish.

Serves 1.

재난의 요리법. 집에서 시도하지 마시오.


6
음 그것은 당신이 거기에 도착한 짜증스러운 맛입니다.
Addison Crump

9

티 스크립트, 18 바이트

x+`spooky${x+2}me`

불행히도이 문자열은 압축 할 수 없으므로 기본적으로 짧습니다.


12
18 번째 바이트에 오신 것을 환영합니다! : P
스파게티

9

핍, 18 바이트

내가 여기 골프 언어의 두 번째 계층에있는 것 같습니다. : ^ P

[a"spooky"a+2"me"]

숫자를 명령 줄 인수로 사용하고 적절한 요소를 배열에 넣습니다.이 요소는 프로그램 끝에서 함께 결합되고 자동 인쇄됩니다.



8

apt, 17 16 바이트

U+"spooky{U+2}me

Japt ( Ja vascri pt shortened)는 내 발명의 언어입니다. 이 도전보다 새로운 것입니다. 따라서이 답변은 경쟁이 아닙니다. 출판되지 않은 다른 7 개의 언어와 달리이 언어에는 현재 개발 중이며 이미 일부 작동중인 실제 통역사 가 있습니다.

나는 기존의 모든 1 위 2 위 답변의 길이와 같은 길이를 좋아하기 때문에 이것을 게시하고 싶었 습니다. 작동 방식은 다음과 같습니다.

U+"spooky{U+2}me"    implicit: [U,V,W,X,Y,Z] = eval(input)
U+                   input +
  "spooky     me"     this string
         {U+2}         with input+2 inserted here
                     implicit: output last expression

그리고 거기 있습니다. 여기에 사용 된 모든 기능에 대한 사양은 10 월 29 일에 마무리되었습니다. 이 답변을 더 짧게하기 위해 아무것도 변경되지 않았습니다. 여기의 통역 등의 약속은.


나는 이것이 쇼코 이전이라고 확신하지만, 당신이 {U}2me대신 할 수 있다고 생각합니다 {U+2}me: P
Oliver


7

비시, 21 바이트

참고 : Z이 도전이 시작된 후에 명령이 내려졌지만이 도전에 대한 것은 아닙니다.

VVN "ykoops"ZV2 + N "em"Z
V 스택의 상단 아이템 (입력)을 잡고
                       전역 변수.
 V 호출-전역 변수를 스택 맨 위로 밉니다.
  N 숫자로 출력합니다.
   "ykoops"스택으로 'spooky'를 밀어 넣습니다.
           Z 모두 출력합니다.
            V2 + N 전역 변수를 다시 호출하고 2를 더한 다음 num으로 출력하십시오.
                "em"Z 'me'를 스택으로 푸시하고 모두 출력합니다.

여러 스택 (27 바이트)을 사용하는 스 푸피 변형 :

& "ykoops"& "em"? DN? Z ?? 2 + N ?? Z

& 새 스택을 만들어 이동하십시오.
 "ykoops" '스푸키'를 현재 스택으로 푸시하십시오.
         & "em" '나'와 함께하는 일에 마지막을하십시오.
              ? 스택 위로 이동하십시오.
               DN 입력을 출력합니다.
                 ? Z 스택 ( '스푸키'가있는 스택) 위로 이동하여 인쇄합니다.
                   ?? 원래 스택으로 다시 이동하십시오.
                     2 + N 입력에 2를 더하여 숫자로 출력합니다.
                        ?? Z 안에 'me'가있는 스택으로 이동하여 인쇄하십시오.

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


궁금한 점은 왜 문자열이 반전 되는가?
Cyoce

문자를 스택에 하나씩 밀어 넣습니다.
Soham Chowdhury

6

줄리아, 23 바이트

n->"$(n)spooky$(n+2)me"

정수를 받아들이고 문자열을 반환하는 명명되지 않은 람다 함수를 만듭니다. 출력은 Julia의 문자열 보간을 사용하여 구성됩니다.


5

루비, 25 바이트

->n{"#{n}spooky#{n+2}me"}

정수를 받아들이고 문자열을 반환하는 명명되지 않은 람다를 만듭니다. 문자열은 Ruby의 문자열 보간을 사용하여 구성됩니다.


5

APL, 25 22 바이트

⍕,'spooky','me',⍨∘⍕2+⊢

왼쪽의 정수를 받아들이고 문자열을 반환하는 명명되지 않은 monadic function train을 만듭니다.

를 사용하여 숫자 값이 문자열로 변환됩니다 . 문자열 배열은을 사용하여 단일 문자열로 결합됩니다 .

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

Thomas Kwa 덕분에 3 바이트를 절약했습니다!


5

자바 스크립트 (ES6) 23 21 바이트

골프 lanqs에 의해 분쇄 될 간단한 기능 :

_=>_+`spooky${_+2}me` 

_=>`${_}spooky${_+2}me`

2 바이트 절약을위한 ETH 프로덕션 덕분에 특별한 감사


고맙습니다! 당신은 템플릿 문자열을 단축 할 수 있습니다,하지만 난 그렇게 할 수있는 방법을 생각할 수 없다
MayorMonty

2 바이트 절약 :_=>_+`spooky${_+2}me`
ETHproductions

고맙지 만 지금은 픽스가 너무 어리석은 것 같습니다. 나는 (내가 틀렸다 희망) 내가 잘못 될 수있다,이 자바 스크립트에서이 작업을 수행하는 가장 짧은 방법이라고 생각
일반 사용자

5

05AB1E, 14 10 바이트

DÌs’ÿæªÿme

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

05AB1E 이후 비경쟁은이 도전보다 새로운 것입니다.

설명

DÌs’ÿæªÿme

D                get input n and duplicate it
 Ì               increment by 2
  s              Swap. Stack is now [n+2, n].
   ’ÿæªÿme       Compressed string that expands to "ÿspookyÿme". The first ÿ is then replaced by n and the second by n+2.

2
이것은 D9 바이트에 대해 제거 된 것으로 보입니다.
dzaima

4

PHP, 55 47 46 42 34 바이트

<?=($a=$argv[1]).spooky.($a+2).me;

명령 행 입력으로 숫자를 승인합니다.

크레딧 :)

4 바이트 절약을위한 manatwork 덕분에!

8 바이트를 절약 할 수있는 insertusername 덕분에!


function a($a){echo$a,"spooky",$a+2,"me";}
manatwork

s 를 제거하여 4 바이트절약 할 수 있습니다. 명령 줄 인수를 사용하여 다음과 같이 함수를 삭제하여 4 바이트절약 할 수도 있습니다. " <?=($a=$argv[1]).spooky.($a+2).me;
insertusername 여기

4

Chaîne , 15 바이트

비경쟁, 언어 날짜 질문

{i~}:-,}:{2+}me
{i~}            | input duplicate write
    :   :       | access dictionary with inner base-93 key
     -,}        | entry for "spooky"
         {2+}   | push 2, add previous two, write
             me | write me

암시 적 출력.


출력 (개행 문자 구분) "`spookyme 4 2
파비안 Schmengler

@fschmengler 인터프리터를 업데이트하는 동안 무언가를 엉망으로 만들었어야합니다. 기다려주세요.
코너 오브라이언

@fschmengler 좋아, 버그가 수정되었습니다. 지금 작동합니다.
코너 O'Brien


3

심플 렉스 v.0.7 , 20 바이트

심플 렉스는 오늘날 골프를 느끼지 않습니다. > _ <

i@R"spooky"&IIR"me"g
i@                   ~~ take input and copy to register
  R"spooky"          ~~ write that string to the strip (increment byte after every character)
           &II       ~~ write the register (incremented twice) to the strip
              R"me"  ~~ write that string to the strip
                   g ~~ output the strip

여전히 Vitsy를 이겼습니다. oo
Addison Crump

@VoteToClose 기분이 나쁘지 않습니다. 마지막 Simplex 버전은 ~ 25 자 이상이었습니다. 어느 쪽이든, 20 또는 21 바이트는 17에 가깝지 않습니다.;-;
Conor O'Brien


1
@VoteToClose 무엇을 기대 했습니까? 그는 모드의 XD입니다
코너 오브라이언

3
이것을 meme 목록 에 추가해야 합니다.
애디슨

3

C, 58 바이트

main(a,b)char**b;{printf("%sspooky%dme",*++b,atoi(*b)+2);}

atoi() 불필요 할 수 있습니다.


1. gcc평가 순서에 따라 달라지기 때문에 실패합니다 . 로 바이트를 저장하십시오 int**b.
우고 렌

3

매스 매 티카, 45 27 바이트

Print[#,"spooky",#+2,"me"]&

g=ToString[#]<>"spooky"<>ToString[#+2]<>"me"&

상당한 개선과 따뜻한 환영에 대해 Martin Büttner에게 감사드립니다.


2
PPCG에 오신 것을 환영합니다! 명명되지 않은 기능은 훌륭하므로 필요하지 않으며 작동해야 g=한다고 생각 Print[#,"spooky",#+2,"me"]&합니다. :)
Martin Ender

무엇에 대해 Row@{#,spooky,#+2,me}&? 변수가 정의되지 않은 경우 출력은 시각적으로 유사합니다.
2012rcampion

3

Minkolang 0.10 , 49 바이트

정수를 문자열로 변환 할 수있는 방법이 없습니다 (아직!). 이것은 훨씬 길다.

"me"nd2+(dl%"0"+$rl:d)"spooky"2g(dl%"0"+$rl:d)$O.

여기에서 시도하십시오.

설명

(dl%"0"+$rl:d)int를 문자열로 변환하는 작업을 수행합니다. 이것이 단일 문자 (예 :)로 대체 된 경우 Z내 솔루션은 단지 23 바이트 입니다.

"me"nd2+Z"spooky"2gZ$O.

nd입력에서 정수를 가져 와서 복제합니다. 2+2를 더한 2g후 나중에 초기 입력을 가져 와서 스택 위에 놓습니다. $O.전체 스택을 정수로 출력하고 중지합니다.


숫자를 숫자로 출력하는 것이 더 짧습니까?
Sp3000

숫자로 출력하면 출력에 공백이 자동으로 추가됩니다. "2 spooky4 me"입니다.
El'endia Starman

3

윈도우 용 루아, 41 바이트

n=io.read()print(n.."spooky"..n+2 .."me")

창문 루아 테스트

그것은 io.read를 통해 입력을 취한 다음 변수 n에 저장 한 다음 같은 줄에 변수 n을 인쇄 한 다음 "spooky"다음 n + 2를 마지막으로 "me"를 인쇄합니다


1
공백을 제거하고 바이트를 저장n=io.read()print(n.."spooky"..n+2.."me")
Digital Veer

1
@DigitalVeer-공백 2.이 없으면 숫자로 처리됩니다.
Egor Skriptunoff

p.lua : print(.....'spooky'.. ...+2 ..'me') 실행 방법 : lua51.exe p.lua 2크기 = 35 바이트
Egor Skriptunoff

3

로터, 15 바이트

&"spooky"~2+"me

도전 후에 언어가 만들어졌습니다. 온라인 인터프리터에서 작동하지 않습니다 (입력 평가 사용).


댐 아들. 당신은 데니스를 능가했습니다. 드디어. 만세!
애디슨 크럼프

1
로터가 죽었습니다. 부활 시키려고 노력하지 마십시오.
스파게티

1
Rotor에서도 좋은 일입니다 !! 당신은 삶으로 보상해야합니다.
Rɪᴋᴇʀ

3

쿠키 , 16 바이트 (비경쟁)

최근 Github 페이지의 변경 사항 이이 문제에 대해 수행 되지 않았 으며 쿠키는 여전히 개발 중입니다.

wŕspooky[r+2]me"

설명:

wŕspooky[r+2]me"
w                 start write command
 ŕ                take input
  spooky          write spooky
        [r+2]     compute input + 2
             me   write me
               "  close write command.

@Mego 경쟁이 아닌 이유를 추가 한 이유는 무엇입니까? 그냥 물어 보는 건데.

이 언어는 챌린지가 게시 된 후 5 개월 후에 만들어졌습니다.
Mego

@Mego 그 시스템에 대해 몰랐습니다.

기쁘다. 제출이 유효하지만 챌린지를 게시하기 전에 (메인 또는 샌드 박스에) 사용 된 언어 / 기능이 존재하지 않는 경우, 제출 된 내용이 아닌 경우 경쟁이 아닌 것으로 표시되어야합니다. 도전은 특히 새로운 언어 / 기능이 경쟁하게합니다.
Mego

권리. 말이 되네요

3

경쟁하지 않는 젤리

13 바이트이 대답은 경쟁이 아닌데, 이는 도전이 젤리의 생성보다 우선하기 때문입니다.

+0,2ż“×¥X“ŀ`»

QUARTATA의 도움을받을 수 없습니다

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

작동 원리

+0,2ż“×¥X“ŀ`»  Main link. Input: n

+0,2           Add [0, 2] to n, resulting in [n, n + 2].
     “×¥X“ŀ`»  Yield ['spooky, 'me'] by indexing into a dictionary.
    ż          Zip the results to left and right with each other.
               This yields [[n, 'spooky'], [n + 2, 'me']], which is flattened
               before printing.

7
하나는 단순히 outgolf되지 않습니다 ... quartata?
Arcturus

나는 쿼타 타를 능가하는 것처럼 보이지 않지만 대답이 경쟁이 아니기 때문에 도움을 줄 수 있습니다. +2ṭż“×¥X“ŀ`»
Outgolfer Erik

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