모든 기지가 우리에게 속해 있습니다 (제한적)


57

입력이 필요하지 않아야하며 출력은 " All your base are belong to us" 를 읽어야합니다 .

제한 사항

  • 외부 자원이 없습니다.

    다음 중 최소 2 가지 이상 :

  • 코드에서 "a", "b", "t", "u"또는 "y"를 사용할 수 없습니다 (이를 수행 할 수있는 경우 골프 점수 -10)

  • 코드에서 "l", "o", "s", "e"또는 "r"을 사용할 수 없습니다 (이를 수행 할 수있는 경우 골프 점수 -20)

  • 코드에서 "n", "g", "0", "1"또는 "2"를 사용할 수 없습니다 (이를 수행 할 수있는 경우 골프 점수 -30)

예를 들어, 40 자 문자로 코드를 작성하고 규칙 1과 2를 사용하는 경우 골프 점수는 40-10-20 = 10 자입니다.

가장 작은 코드 골프 점수가 이깁니다 ... 행운을 빕니다!


5
선언으로 너무 많은 string휴식을 세 가지 제한하고 char, var그리고 Write그들 각각의 두 휴식. 이것은 올바른 답변을 얻기가 어려울 것입니다 .Barinfuck 일 수 있습니다.
Hand-E-Food

7
"입력이 필요 하지 않습니다 ". 예를 들어 print(input())(파이썬) 과 같은 것을 할 수 있다는 것을 의미하지 않습니까? 사용자는 올바른 문자열을 입력해야하지만 금지되지는 않습니다.
Justin

5
@Quincunx 코드 가 올바른 솔루션을 출력한다고 보장하지 않으므로 그러한 솔루션을 허용 하지 않습니다. 또한 stdin"외부 출처"이기도합니다.
nitro2k01

2
@PranavHosangadi이 질문에 대한 점수가 -6 인 삭제 된 답변이 있습니다. 여러 가지 질문으로 여러 번 전에 수행되었으며 code-golf 태그 에서 명시 적으로 허용되지 않습니다 .
Gareth

1
코드 골프 표준 규칙에 따르면 latin1 / unicode / name의 응답은 utf-8로 변환 한 후 charmap의 바이트 단위로 평가됩니다. 우리는 그렇게 계산합니까 아니면 다른 점수 방법을 선택 했습니까? 현재 리더는 -40 대신 0에있게됩니다.
Sylwester

답변:


4

SOGL V0.12 , 15-60 = -45

šz█P'zUS½█│β3‘⁾

여기 사용해보십시오!

šz█P'zUS½█│β3‘의 압축 된 문자열입니다 all your base are belong to us,하지만 정확한 문자열이 포함 된 압축하기 때문에 0, 그것은 3 개 부분으로 분할 것 : all your base are, , belong to us(한 바이트 비용 만 -30 바이트 보너스를 준). 첫 번째 및 마지막 문자열은 SOGL 영어 사전으로 압축되며 공백으로 내재적으로 결합됩니다. 나머지 는 간단한 문장이 내장되어 있습니다.
SOGL은이 과제를 발표했지만 지금은 가능합니다.


그냥 물어봐야하는데 ... 어떻게 ??? 우리는 여기서 영리한 압축 기술을 다루고 있습니까? 나는 SOGL에 대해 아무것도 모른다 ...
WallyWest

45

GolfScript, -22 (38 자, -60 보너스)

"„¯¯c¼²¸µc¥¤¶¨c¤µ¨c¥¨¯²±ªc·²c¸¶"{67-}%

4
어떻게 작동합니까?
모자와 사람

37
@ 라이언 캘슨 매직.
Howard

4
"..."문자열을 정의하고 블록 {}%은 모든 문자에 대해 매핑 작업을 수행합니다. 블록 내에서 아스키 값은 스택에서 사용할 수 67-있으며 각 아스키 값에서 67을 뺍니다.
Howard

4
자, 대소 문자는 아마도 잘못된 단어이지만, 당신은 내가 무슨 뜻인지 알 것입니다. 위첨자 2가 여전히 2이므로 규칙 3이 충족되지 않았습니다.
Trent

3
@ FizzBuzz 나는 당신이 말하려는 것을 알고 있지만 중요한 것은 2와 ²가 다른 코드 포인트가있는 다른 그림 문자라고 생각합니다. 당신은 같은 의미에서 그것들이 같은 상징이라는 주장을 할 수 있지만, 그것이 질문의 장점보다 훨씬 더 추상적 인 해석이라고 생각합니다.
Jordan Gray

36

깎기 , -40

뀖롬긇땯덗긠눦굳뉒걡댦넠눦녬닶멧긇끯긇녳
  • = 20 자-60 보너스
  • 입력이 비어있는 경우에만 작동합니다. 그렇지 않은 경우 앞에 추가 하여 점수를 -39로 변경하십시오.
  • 입력이 내가 원하는 것으로 가정 할 수 있다면 ( 이 대답이 분명히하는 것처럼) 빈 프로그램은 해결책이며 내 점수는 -60입니다.

글쎄, "input is not required"내가 말했듯이, 나는 丟를 앞에 던지고 점수를 -39로 바꾸지 만 큰 노력을 기울였습니다! 특히 당신이 언어를 발명했다고 생각하면, 친구!
WallyWest

1
한국말로 한국어 음절을 보는 것은 놀랍습니다.
Matthew Roh

29

JavaScript-140 바이트-60 보너스 = 80 점

(x="Ǎľľ y̌ǒǔř b̌ǎšě ǎřě b̌ěľǒňǧ ťǒ ǔš")[x[3*9]+x[34]+"p"+x[4]+x[5*5]+"c"+x[34]]("̌","",x[6*7])

Firefox에서 실행하십시오.

무슨 생각하는지 알아 아니요, 질문에 나열된 문자가 아닙니다. 캐릭터는 카론 문자 또는 háček (분음 부호 목록에서 임의로 선택)입니다. 마크를 결합하더라도 두 개의 개별 문자가 아닙니다.


Node.js를 REPL :String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
indiessance 닉

28

APL (43-30-20 = -7)

⎕AV['⊥┤┤ ø┼&┐ `∣┘û ∣┐û `û┤┼─ù ´┼ &┘'⍳⍨⌽⎕AV]

이것은 규칙 2와 3을 만족시킵니다.


이기는 것은 어려울 것입니다!
Paul Prestidge

1
결과를 반환하거나 인쇄합니까?
Aaron Davies

@AaronDavies : 둘 다, 결과가 자동으로 인쇄됩니다
marinus

@marinus 나는이 시도 TryAPL.com 하고있어 INVALID TOKEN아마도 초기 및 미행 문자에서 AV 전에 ... 내가 이것을 테스트 할 수있는 다른 곳이 있나요 ... ... 오류?
WallyWest

@WallyWest : Dyalog APL ( dyalog.com )을 사용하십시오. 등록되지 않은 버전을 받으십시오. 무료입니다. TryAPL은 너무 제한되어 거의 쓸모가 없습니다.
marinus

28

Brainfuck, 267-60 = 207

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

더 이상 줄일 수 있습니까? :)
WallyWest

2
fbonetti 는 그의 Brainfuck 답변에서 더 잘했습니다.
Hand-E-Food

2
그리고 FIQ 는 4 일 후에 더 나았습니다
schnaader

22

HTML / CSS 70

<p style="transform:rotate(.5turn)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>

http://jsbin.com/EjekuvuF/1/

나는 거꾸로 된 유형으로 영리하다고 생각했지만 실제 HTML / CSS와 관련된 보조 규칙을 충족시킬 수 없다는 것을 깨달았습니다. 오 잘

최신 정보:

User Flame은보다 크로스 브라우저 호환 솔루션을 제안했습니다.

<p style="transform:rotate(180deg)">sn oʇ ƃuoləq əɹɐ əsɐq ɹnoʎ llɐ</p>  

http://jsbin.com/EjekuvuF/6


XML 문자 참조를 사용하여 상황을 구할 수 있다고 생각합니다.
MvG

3
나는 해결책 뒤에 아이디어를 좋아한다.
Sumurai8

나도 그것에 소품을 줄 것이다 ... 어떤 이유로 든 transform:rotate(.5turn)구문 오류로 해결 생각 ... 나는 이것에 넣어 상상력이 좋아 ...
WallyWest

@WallyWest 모든 브라우저에서 테스트하지 않았습니다. 공식 W3C 구문이 아니라 브라우저마다 다를 수 있습니다. (그러나 Chrome에서는 작동합니다)
DA.

3
ɐ :) 대신 ∀를 사용해야합니다.
Timwi

12

MATLAB, 모든 보너스 : 점수 -20 (40-60)

['' '¤ÏÏèÜÒØÕèÅÄÖÈèÄÕÈèÅÈÏÒÑÊè×ÒèØÖ'-99]

편집하다:

Windows에서 테스트를 수행하기 위해 시스템 요구 사항이 무엇인지 확실하지 않습니다. 복사하는 데 어려움을 겪는 사람들을 위해 비슷한 코드를 다음과 같이 생성 할 수 있습니다.

char('All your base are belong to us' + 99)

입력으로 무엇이든 물어볼 수 있다면 더 적은 문자 (그러나 보너스가 없음)가있는 솔루션이 가능할 것입니다.

input('')

당신이 출력에 계획하는 방법에 대해 설명 바랍니다 아무것도 에만 사용 input. 두 번째 답변은 (afaik) 사실이 아닙니다.
DJSpud

2
@Jhawins : MATLAB은 세미콜론으로 끝나지 않는 각 표현식의 결과를 출력합니다. input('')호출 따라서는 출력을 생성합니다, 세미콜론으로 끝나지 않습니다.
Ben Voigt

6
맞다면 JS 답변은 " prompt()"
DJSpud

쉘은 dd아마도 외부 리소스로 계산 될 것입니다. 물론 사용자 입력도 가능합니다.
gerrit

나는 이것을 실행하려고 시도하고 다음을 얻었습니다. _A ,, E9 /5 2E "! 3% E! 2% E" %, /. 'E 4/ E5`3 첫 번째 답변을 이해할 수 있지만 두 번째 답변에는 입력이 필요합니다."필수 "라고
말하지 않았습니다

10

k (-7 = 53-60)

(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

후행 줄 바꿈은 포함하지 않으며 추가 문자 하나를 추가하여 추가 할 수 있습니다.

(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";

짜증나게,이 트릭을 위해 작동하는 유일한 오프셋은 154와 155입니다

편집하다:

APL 솔루션이 의심하는 것처럼 (인쇄하지 않고) 문자열을 표시하는 것으로 충분하다면 ( http://tryapl.com/ 에서 작동하지 않으므로 올바르게 테스트 할 수 없습니다)

  "c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&("
"All your base are belong to us"

이것은 -12 = 48-60입니다. 이것이 충분한 지 여부를 결정할 수 있습니까?


나는 후행 줄 바꿈을 요청하지 않았다 ... :)
WallyWest

10

dc, 97-60 = 37 91-60 = 31 88-60 = 28 81-60 = 21

3C87596P4d^8/P7958389P7479394P6386533P7C89P749698CP644848CP459 8^699 7^3849736388974773333 86-++P

개선 된 버전 (여기서 주요 아이디어는 입력 기준을 변경하여 문제가없는 유용한 큰 숫자를 찾을 가능성을 높이는 것입니다) :

IDi67793554D647F84C836645D6569F69Pi6385C77P9i35PDdi6^I9^+6D59CD83D664D34+P8CPFi98CCF5PCi97P

기본 7에서는 모든 것이 단일 숫자가 될 수 있습니다! 하부베이스는 당연히 컴팩트하지 않지만, 여기에서의 픽스 업 (fix-up) 작업의 부족이이를 보완합니다.

7i4398873968644388737548444897643735447698675366869556798538985674336396359936458859886P

내 최초의 솔루션 사용되는베이스 (10) 내 두 번째 내가 진정으로 모든 기본 기분이 하나가 기본 7에 기본 9, 10, 12, 13의 혼합을 사용하고, 15 있는 나에게 속한다.

마지막으로, 진지하게 : 베이스 13은 첫 번째 세그먼트에서 훌륭한 역할을 수행하고 나머지는베이스 7에서 수행합니다.

Di67793554D647F84C836645D6569F69P7i798789699638355733695878558396339387963789536P

다른 말로하면, 당신의 모든 기본 7은 @Wumpus?
WallyWest

10

파이썬 REPL, 122 개 (116) 98 문자 - 덤 = 30 92 86 68 점

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6fng \x74\x6f \x75\x73'

'All your base are belong to us'

파이썬 3.3에서 ' \40'를 로 바꾸면 0을 제거 할 수 \N{SP}있지만 아쉽게도 N허용되지 않습니다.

편집 : 이 답변 에서 영감을 받아 로 교체 \x40하여 더 단축했습니다 . 나는 이미를 사용하기 때문에 또한 1, 교체 \156n\x67로하는 g여분의 벌금을 초래하지 동안 다른 6 자하여 단축됩니다.


1
대화 형 쉘 만 작동하기 때문에 이것이 유효한 항목인지 궁금합니다. 이것을 .py파일에 넣고 실행하면 출력이 없습니다.
Daniel Hepper

1
그것은 달려있다 ... 나는 일반적인 규칙이 없다고 믿는다. 일부 질문은 대화식 모드를 허용하고 다른 질문은 허용하지 않습니다.
Bakuriu


1
이것은 R에서도 작동합니다
Zach

1
@AaronHall 그리고 편집 후, 나는 68을 내 것으로 가져 왔습니다!
gerrit

8

브레인 퍽, 205 203-60은 = 145 143 바이트

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

읽을 수있는 버전 :

++++[->++++<]>[->++++>++>+++++++>++++++>++++++++<<<<<]
64 32 112 96 128

>+.>>----..<.                     All                 65 108 108  32
>>>-------.<<+++.>>----.---.<<<.  your           121 111 117 114  32
>>++.-.>+.<++++.<<.               base            98  97 115 101  32
>>----.>-.<++++.<<.               are                 97 114 101  32
>>---.+++.<---.>>---.-.<<-----.<. belong  98 101 108 111 110 103  32
>>>++++++.-----.<<<.              to                     116 111  32
>>>++++++.--.                     us                     117 115


나는 결국 Brainfuck 솔루션을 반쯤 기대했다 ... 좋은 일!
WallyWest

7

빌 펀지 98 : 122-60 = 62

5f8+*:53-+:' \6-:5+' 91+:*3+::7+\8+:3-:7-:3-:' \3+::3-4+',' -+\4-:' \:4+\6+c+:f3+-:4+3-' '&3*:3+:6-:f+5-:' \d-:' '!+ff+k,@

ASCII 값을 계산 한 다음 인쇄합니다. 더 짧은 방법이 있는지 확인하기 위해 숫자를 형성하는 다른 방법을 시도해야합니다.


나는 당신이 2 바이트를 넣을 때 궁금합니다 ... 좋은 일!
WallyWest

7

파이썬, 195-40 = 155

x,w,y,z,v=4*8,55,56,57,58;exec(("%c"*38)%(y+y,z+z,49+y,w+w,v+v,39-7,34,65,54+54,54+54,x,v+63,48+63,48+69,z+z,x,98,97,59+y,45+y,x,97,z+z,45+y,x,98,45+y,54+54,w+y,w+w,45+v,x,v+v,w+y,x,v+59,z+v,34))

6

루비, 121-50 = 71

약간의 무차별 한 힘이 있지만 귀여운 방법의 대부분은 제외됩니다.

$><<[65,c=36*3,c,d=8*4,363/3,f=c+3,c+9,c+6,d,x=98,97,j=c+7,k=3+x,d,97,c+6,k,d,x,k,c,f,j-5,5+x,d,c+8,f,d,c+9,j].pack('C*')

A in 때문에 규칙 # 1을 어 기고 pack다른 두 개는 정상이어야합니다.


인쇄하지 않고 결과를 반환하면 6자를 절약 할 수 있습니다. 다른 답변을 본 후에는 명확하지 않았습니다.
Paul Prestidge

1
매우 길지만 더 이상“a”: pastebin.com/wnsvcAMh
manatwork

@manatwork 나는 그것을 좋아한다! <<내 대답에 사용하더라도 어떻게 든 생각하지 못했습니다 .
Paul Prestidge

그래서 당신은 내가 :) 사용하는 거라고 알고 ... 사용하고있다 @manatwork 154 문자 솔루션을 사용하고 당신에게 94주는 60 포인트 할인을 주장하거나 비 규칙과 함께 한 버전 스틱과 71 이동 중
WallyWest

6

{BA, Z} SH, 67-40 72-60 61-40 = 21

$'\x74r' K-~\#-\; _@-~\^-j<<<'Mxx ){%~ 3m#q m~q 3qx{z8 ${ %#'

그것은 터무니, 내가 있었다 밝혀 r내가 발견하지했다고 거기에, 그래서 20 개 보너스는 적용되지 않습니다!


1
zsh 및 bash 버전에서는 편리 $'\x74\x72'하고 명령 이름으로 직접 사용할 수 있으므로에 대한 8자를 절약 할 수 있습니다 $(m4<<<). 그것은 당신에게 그런 식으로 작동하지 않습니까?

그리고 다시보고 후 ... 사용 \x72에 대한 교체로 r합니다 (의 30 점의 보너스를 잃는의 비용으로 20 점의 보너스를 얻는다 2)

@ WumpusQ.Wumbley 오, 당신은 두 계정에 맞습니다. 나는 2거기에 사용 된 것을 생각하지 않았고 그것을 제거하고 보너스를 잃지 않는 방법을 찾을 수 있는지 알아 보겠습니다.
FireFly

으악, 신기하다! 이것은 역 ROT12 ASCII 사이퍼처럼 보입니다 ... (내가 맞습니까?) 훌륭하게 완료되었습니다!
WallyWest

좋은 대답입니다. 그러나 tr외부 자원으로 간주됩니까?
Digital Trauma

5

C, 75 바이트-60 = 15

점수를 50에서 33으로, 19에서 15로 낮추는 @gastropner에게 감사합니다!

*q,i;f(p){(*(q=p)="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9J"[i++]^74)?i=!f(++p):i;}

char 배열의 주소를 입력으로 받아서 문자열을 배열에 씁니다.

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

전화 :

int main()
{
    char s[128];
    f(s);
    puts(s);
}

산출:

이전 버전 (90 바이트-40 = 50) :

*q,i,j;f(p){for(i=3-3;j="Epp$}s v$fewi$evi$fipsrk$xs$ w"[i++];*q=j!=35-3?j-4:353/3)q=p++;}

1
XOR의 힘과 재귀를 사용하여 *q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
93-60

@gastropner 감사합니다!
Steadybox

함께 갈 수있는 i=i<30또 다른 2 바이트 off합니다.
gastropner

@gastropner 사용할 수 없습니다 0.
Steadybox

아, 물론입니다!
gastropner

4

자바 스크립트

(306 자-60 보너스 = 246) (206 자-50 보너스 = 156)

(123 자 = 173 자-50 보너스)

nooby의 종류, 아마도 더 많은 것을 얻을 수 있습니다 ... 내가 무언가를 채워 넣었 으면 알려주세요. "모든 기지가 우리에게 속해 있습니다." 이것은 또한 ASCII 전용입니다.

(c=(''+!'')[4-3],x=([][3]+c)[6])[a='c\x6F'+x+'\x73t'+c+'uct\x6F'+c][a]('a\x6C\x65'+c+'t("A\x6C\x6C y\x6Fu'+c+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+x+'\x67 t\x6F u\x73")')()

콘솔 자체를 출력으로 계산하면 다음과 같이 계산됩니다 (보너스 포함 57).

'A\x6C\x6C y\x6Fu'+(c=(''+!'')[4-3])+' ba\x73\x65 a'+c+'\x65 b\x65\x6C\x6F'+([][3]+c)[6]+'\x67 t\x6F u\x73'

훌륭한 접근 방식이지만 몇 가지 문자 대체로 규칙 1 보너스도 허용 될 수 있습니다.
WallyWest

@WallyWest : 감사합니다! JavaScript의 문제점은 다른 규칙을 위반하거나 너무 많은 문자를 사용하지 않고 "A"를 얻는 것이 다소 어렵다는 것입니다. 10 자 이상이면됩니다.
Qantas 94 Heavy

사실, 당신은 보너스에 대해 추가 문자보다 가중치를 부여해야합니다 ...하지만 좋은 일!
WallyWest

x=(c.t+c)[6]조금 짧습니다
찰스가 아닙니다.

또한, eval해킹하기가 더 쉬울 수도 있습니다.
Charles가 아닙니다.

4

Brainfuck, (227-60 = 167)

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

처음에는 공간 +++++ +++++이 필요 하다고 생각하지 않습니다. 226 바이트 일 수 있습니다.
FinW

3

PHP (35-60 = -25 바이트)

HOW LOW CAN YOU GET ?[1] [2]

$ xxd yourbase.php 
0000000: 3c3f 3d7e be93 93df 8690 8a8d df9d 9e8c  <?=~............
0000010: 9adf 9e8d 9adf 9d9a 9390 9198 df8b 90df  ................
0000020: 8a8c 3b                                  ..;

[1]이 프로그램은을 사용하여 디코딩 할 수 있습니다 xxd -r.
[2] 그렇습니다. 여기에서 무거운 솔루션을 재사용하십시오. 이 방법으로 해결 된 세 번째 문제라고 생각합니다. 아마도 다른 것으로 옮겨야하지만 이것이 대부분의 문자를 사용하지 못하게하는 문제에 좋지는 않습니다.


나는 그것을 얻지 못한다, 여기서 무엇을하려고합니까?
WallyWest

@WallyWest 그는 문자열을 비트 반전시켰다; 결과적으로 31 개의 확장 ASCII 문자가 생성되는데, 이는 PHP가 상수 이름으로 해석하려고하며 문자열로 해석되는 상수가 없기 때문입니다. 이 문자열은로 다시 무효화됩니다 ~.
Titus

3

배쉬, 52-10-30 = 12

다음은 (여전히 일반적인) ISO-8859-1 환경에서 실행됩니다.

$'\x74r' À-þ  @-~<<<'Áìì ùïõò âáóå áòå âåìïîç ôï õó'

이를 호출 tr하면 문자가 적절한 방식으로 변환됩니다. r규칙 2 를 사용 하고 위반하거나 이스케이프 및 규칙 3을 위반 한 숫자를 사용해야했습니다. 3은 더 많은 보너스를주기 때문에 전자를 선택했습니다.


1
네, 그는 :) 어떤 경우 에도 "a", "b", "t", "u"또는 "y" 를 사용할 수 없습니다. 또한 두 가지 조건이 필요합니다.
cowls

@cowls : 그 점을 완전히 놓친 것 같습니다. 명확하게 해 주셔서 감사합니다. 이를 준수하기 위해 내 대답을 다시 작성했습니다.
MvG

@ MvG 위대한 재 작업 ... 잘 했어요!
WallyWest

tr외부 자원을 구성 합니까 ?
Digital Trauma

@ DigitalTrauma : 표준 라이브러리와 비슷하지만 해석이 확실합니다. 그러나 POSIX 표준에 지정되어 있으므로 POSIX 시스템에 POSIX 시스템이 있어야한다고 생각하므로 시스템의 일부입니다.
MvG

3

순수 배쉬 (외부 리소스 없음), 141 자-50 보너스 = 91

Z = ({k..v})
f = $ '\ x65'
h = $ '\ x6c'
i = $ '\ x6f'
j = $ {Z [7]}
k = $ '\ x73'
m = $ '\ x75'
$ f $ '\ x63'h $ i A $ h $ hy $ i $ m $ j ba $ k $ fa $ j $ fb $ f $ h $ i $ {Z [3]} $'\ x67 't $ iu $ k

더 나은 전체 점수를 얻으려면 의도적으로 10 점 보너스를 삭제하십시오.

이것은 bash내가 시도한 모든 버전 3.00.15 이상 에서 작동합니다 .

작동 원리

여기에는 로켓 과학이 없습니다. 단지 bash한 형태 또는 다른 형태의 확장 일뿐 입니다.

  • 필요한 16 진수 확장으로 필요한 특성을 얻습니다. 16 진 표현이 포함되지 않은 문자에 적용 [012]됩니다. 예를 들어 $'\x65'우리에게e
  • 다른 문자의 경우 배열 초기화 ( Z=({k..v})) 로 중괄호 확장을 사용하여 순차적 문자의 bash 배열을 생성합니다 . 중괄호 확장의 시작은 필요한 문자의 색인에 포함되지 않도록 신중하게 선택 [012]됩니다. 예를 들어 ${Z[7]}우리에게 r.
  • bash여러 문자열의 내용으로 명령을 구성 할 수있을 정도로 유연합니다. 로 $f$'\x63'h$i확장됩니다 echo.
  • 한 번만 필요한 문자의 경우 확장이 에코 명령 문자열에 인라인으로 삽입됩니다.
  • 두 번 이상 필요한 문자의 경우 변수로 확장 한 다음 변수를 참조하는 것이 더 효율적입니다.

전체 보너스가 있지만 이전 점수가 더 나쁜 이전 답변 :

순수 배쉬 (외부 리소스 없음), 193 자-60 보너스 = 133

나는 이것이 이길 수 없다는 것을 알고 있지만 bash모든 요구 사항을 만족시키면서 이것이 가능하다는 것을 스스로 증명하고 싶었습니다 .

Z = ({3..8} {C..z})
c = $ {Z [36]}
d = $ {Z [37]}
f = $ '\ x65'
h = $ '\ x6c'
i = $ '\ x6f'
j = $ {Z [53]}
k = $ '\ x73'
m = $ '\ x75'
$ f $ '\ x63'h $ i $ {c ^} $ h $ h $'\ x79 '$ i $ m $ j $ d $ c $ k $ f $ c $ j $ f $ d $ f $ h $ i $ {Z [49]} $ '\ x67'$ '\ x74'$ i $ m $ k

매개 변수 확장 bash을 위해서는 최신 버전이 필요합니다 ${c^}. 4.2.25는 괜찮지 만 3.2.48은 끝이 없습니다.


나는 당신에게 내 모자를 벗고 ... 나는 이것을 실행 ... 좋은 일 ... 아주 좋은 일.
WallyWest

@WallyWest-방금 짧은 버전으로 편집했습니다.
Digital Trauma

3

포스트 스크립트, 364-40 = 324

loser물론 없이는 할 수 없었습니다 . :)

/${cvx exec}def
/+{<3C7E4F6F597E3E>$ $}def
/*{<~P&(~>$}def
/-{( )<3C7E4F754E7E3E>$ $ 3 4<~P#;~>$ 4 3<~P)#3FP'-~>$}def
/_{36(      )<~OoP~><3C7E4F754E7E3E>$ $ 4 3<~P,S~>$ 48<~P'?~>$
${96 3<~P#;~>$ + -}<~P">~>$}def
/.{_ 96 3<~P#;~>$ -}def
65 - 777 .
895 353 + _ 774 333 + .
74933 333 + 7 * 3 + 333 + .
9593 4353 + .
689653949 335 + .
735 333 + .
775 333 + _ 5 5 + -

텍스트를 기본 36 문자열로 인코딩하는 것으로 시작합니다.

%-=Encoding strings as base-36 numbers=-
%All your base are belong to us
% handle uppercase A separately
%36#ll = %777
%36#your = %1618515
%36#yo = 36#ur = 36#base = 36#are = 36#belong = 36#to = 36#us =
%1248 1107 527198 13946 689654284 1068 1108

그런 다음 1과 0과 2를 산술적으로 제거하십시오. 그런 다음 문자열을로 다시 생성 할 수 36 <string-buf> cvrs있지만 대문자가 생성되므로 0x20을 반복하여 추가하여 소문자로 만들어야합니다.

이 연산자를 cvx exec사용하면 이진 인코딩 된 연산자 토큰의 문자열 조각을 다양한 인코딩으로 실행할 수 있습니다. 가장 간단한 방법은 연산자를 16 진수로 인코딩하는 <92??>것이지만 거기에 2가 있습니다! 따라서 "첫 번째 수준"인코딩은 ascii85입니다. 그런 다음 여전히 금지 된 문자가 포함 된 문자열은 여분의 16 진수-> ascii85-> 16 진수-> ascii85를 거쳤습니다.


2

Brainfuck, 306-60 = 246

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

확실히 이것이 어떻게 든 줄어들 수 있습니까?
WallyWest

@WallyWest 아무 이유없이 이와 같은 프로그램을 5 % 줄일 시간이 없습니다.
Timtech

여기에 의무가 없습니다 :)
WallyWest

@WallyWest 당신은 그것을 단축하는 것이 옳습니다. 몇 가지 주요 개선 사항을 사용할 수 있습니다.
Timtech

2

PHP, 186-10-30 = 146

나는 약간의 창의력을 얻어야했다;)

 <?=chr(65).'ll '.chr(88+33).'o'.chr(39*3).'r '.chr(98).chr(97).'s'.chr(68+33).' '.chr(97).chr(38*3).chr(68+33).' '.chr(98).'elo'.chr(77+33).chr(69+34).' '.chr(83+33).'o '.chr(39*3).'s'?>

echo는 괄호 (1)를 필요로하지 않고 <?=echo (4) 대신 사용할 수 있으며 반복되는 문자를 변수 ( 'l', '')에 저장할 수 있습니다. 54*2대신 사용54+54
Einacio

1
결정된. 나는 특정 것들에 대해서만 곱셈을 할 수있었습니다. 나는 54*2그것을 가지고 있기 때문에 할 수 없으므로 23 이상을 가진 사람들 만 할 수 있습니다. 십진수를 사용하면 더 적은 문자가 없습니다.
ub3rst4r

50 바이트를 빼는 몇 가지 골프 팁 . 그것은 (23 + 9 바이트)의 대부분은 : 당신은 나머지 대체 할 수 chr(68+33)chr(38*3)문자로 er.
Titus

1

파이썬, 181-40 = 141

[버전 2.7.2 YMMV를 사용하고 있습니다. 내장 버전 file은 Python 3.X에 들어갔습니다.]

f=file.__doc__;c=5-3;l=f[c];s=' ';e=f[3];h=f[6+7];i=f[c*87];j=3**3;f[j*c*5]+l+l+s+f[-57]+h+f[j-7]+f[j-3]+s+f[j-8]+f[6]+i+e+s+f[6]+f[j-3]+e+s+f[j-8]+e+l+h+f[5]+f[j]+s+f[45]+h+s+f[j-7]+i

1

파이썬 (104-30 = 74)

>>> '\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'
'All your base are belong to us'

그리고 점수 :

>>> len(r"'\x41\x6c\x6c \x79\x6f\x75\x72 \x62\x61\x73\x65 \x61\x72\x65 \x62\x65\x6c\x6f\156\x67 \x74\x6f \x75\x73'")-30
74


1

볼거리, 150-60 = 90. 40 = 110

S J=" ",Z=36*3,C=37*3,D=38*3,Q=39*3,I=35*3-4 W *65,*Z,*Z,J,*484/4,*C,*Q,*D,J,*98,*97,*C+4,*I,J,*97,*D,*I,J,*98,*I,*Z,*C,*D-4,*Z-5,J,*C+5,*C,J,*Q,*C+4

코드 보너스 중 하나를 얻지 못해 더 짧게 (전체적으로) 수행 할 수 있는지 확실하지 않습니다. 제 목표는 부족에 약간 적었고 -60에 조금 더 많았습니다 ... 사용하지 않는 도전이 마음에 들었습니다. 제한된 문자

그리고 ... 나는 그것을 시작했다-시작 'S'명령을 놓쳤다. :-/

어쨌든, 여기에 "규칙 없음"버전이 있습니다. 변수를 확장하십시오.

W *65,*36*3,*36*3," ",*484/4,*37*3,*39*3,*38*3," ",*98,*97,*37*3+4,*35*3-4," ",*97,*38*3,*35*3-4," ",*98,*35*3-4,*36*3,*37*3,*38*3-4,*36*3-5," ",*37*3+5,*37*3," ",*39*3,*37*3+4

그리고 그것은 177-60 = 117의 점수를줍니다. 따라서 중심 규칙을 어기는 것은 여전히 ​​전체 점수가 낮습니다.


흥미로운 답변 ...이 코드를 실행하기 위해 액세스 할 수있는 온라인 에뮬레이터가 있습니까?
WallyWest

1
내 지식은 아니지만 거의 모든 플랫폼에서 실행되는 볼거리 버전이 있습니다. 아주 작은 볼거리 머신 을 원한다면 라즈베리 파이에서 실행되는 버전도 있습니다.
:)

1

펄 5, 99-50 = 49

필요한 문자열을 반환하는 서브 루틴 :

{A.($c=h|d)."$c y".($f=f|k).u.($k=p|b)." ba".($j=c|p).($d=d|a)." a$k$d b$d$c$f".(jf|fc)." t$f u$j"}

다음과 같이 인쇄 된 것을보십시오 :

perl -e'print sub{...}->().$/'

1

BF-RLE , 146-30 = 116

+5[>+5<-]>+.<+4[>+3<-]>+..>>+3[<+2>-]<++.<+A.-7.+3.-0.>.<<+1[>-1<-]>.-.<+0[>+3<-]>.-B.>.<-1.<+1[>+1<-]>+.-A.>.<-0.+0.+4.+0.-.-4.>.<+A.-2.>.<+3.--.

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