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


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, 교체 \156로 n와 \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)문자로 e와 r.
— 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.