프로그래밍 퍼즐에서 코드 골프까지


74

당신의 작업은 정확한 문자열 을 출력하는 프로그램을 작성하는 Programming Puzzles것인데 (선택적으로 후행 줄 바꿈), 모든 공백, 탭 및 줄 바꿈이 제거되면 출력합니다 Code Golf(선택적으로 후행 줄 바꿈).

바이트 수는 공백이있는 첫 번째 프로그램의 수입니다.

노트

  • 제거의 일부로 공간 Code Golf Programming Puzzles 제거 공간 이 제거되므로 적절하게 계획하십시오.

  • 0x09, 0x0A 및 0x20이 각각 탭, 줄 바꿈 또는 공백이 아닌 인코딩에서는 해당 문자가 제거됩니다.

  • 코드가

    42  $@ rw$
    @42
    

    그런 다음 출력해야합니다 Programming Puzzles. 또한 같은 언어로

    42$@rw$@42
    

    출력해야합니다 Code Golf.

이것은 이므로 바이트 단위의 가장 짧은 코드가 이깁니다! 행운을 빕니다!


3
의 공간 Code Golf도 제거 됩니다.의 공간은 어떻습니까 Programming Puzzles?
colsw

2
이것은 적어도 WhirlWhitespace 에서는 불가능 합니다.
엔지니어 토스트

13
마감 투표는 무엇입니까?
OldBunny2800

12
@ OldBunny2800 좋은 질문입니다. 계속 물어 보지만 댓글이 삭제됩니다 ...
programmer5000

12
마감 투표는 입력 및 출력 부족과 입력 및 출력 형식에 대한 제한입니다. "규칙"이라는 레이블이 붙은 섹션에 글 머리 기호로 표시된 항목이 있다면 100 %의 찬성 투표에 대한 도전에 대해 명백하다고 생각하는 경우 100 %입니다. CompSci 사람들과의 프리젠 테이션에 관한 것입니다. 우리가 바이트를 구할 수도 있고 어리석은 질문을 생각할 수 있다면 바보 같은 질문에 대해 생각할 수 있다면, 당신은 그 관용을 반박하려고 노력하고 훌륭한 질문 작가가 될 것입니다.
Magic Octopus Urn

답변:


65

파이썬 2 , 50 바이트

print["Code\40Golf","Programming Puzzles"][" ">""]

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

모든 공백이 제거 된 상태 :

print["Code\40Golf","ProgrammingPuzzles"]["">""]

온라인으로 해보십시오!

3 바이트에 대한 Stephen S와 1에 대한 Outgolfer Erik에게 감사합니다.


2
닌자! 답변 게시를 클릭하려고했습니다. +1
HyperNeutrino

1
내 친구의 두뇌를 깨뜨린 것 같아 어떻게 작동합니까?
Stevoisiak

11
@StevenVascellaro 정말 간단합니다. 첫 번째 경우, 사전은 공백이 빈 문자열보다 크기 때문에를 " ">""반환 True합니다. 두 번째 경우에는 아무것도 "">""반환 False할 수 없으므로을 반환 합니다. True그리고 False단지 실제로 10단지에 각각 bool데이터 형 대신에 int또는 long. 첫 번째 경우 공백이 유지되므로 인덱스 1의 항목 "Programming Puzzles"이 그대로 반환됩니다. 두 번째 경우에는 공백이 없어 지므로 \x20인덱스 0의 항목에 공백이 "Code\x20Golf"유지됩니다.
Outgolfer Erik

9
@StephenS 아니요, JavaScript와 달리 Python에는 암시 적 캐스팅에 대한 집착이 없습니다.
Mego

1
파이썬이 강박 관념이 부족하다는 것을 알게되면.
John Dvorak


22

05AB1E , 15 바이트

”ƒËŠˆ”" "v”–±ÇÀ

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

설명

”ƒËŠˆ”           # push "Code Golf"
      " "v       # for each character in the string " " do
          ”–±ÇÀ  # push "Programming Puzzles"
                 # implicitly output top of stack

... 그냥 얻지 못했습니다. 이것은 사전 압축이나 다른 것을 사용합니까?
LegionMammal978

@ LegionMammal978 나는 확신합니다.
NoOneIsHere3

@ LegionMammal978 : 실제로 사전 압축을 사용합니다.
Emigna

5
@Emigna 자, 마지막으로 확인했기 때문에, 어느 문자열도 4 바이트에 맞지 않을 수 있습니다 : p
LegionMammal978

1
@ Draco18s : Kevin은 팁 페이지 에서 유용한 사용법을 익히는 데 사용할 수 있는 유용한 자습서를 작성 했습니다.
Emigna


16

CJam , 38 바이트

" ""Programming Puzzles""Dpef!Hpmg":(?

온라인으로 사용해보십시오! 또는 공백이 제거 된 경우

설명

" "                    e# Push this string.
"Programming Puzzles"  e# Push "Programming Puzzles".
"Dpef!Hpmg":(          e# Push "Dpef!Hpmg" and decrement each char, giving "Code Golf".
?                      e# If the first string is true (non-empty) return the second string,
                       e#   else return the third.

프로그램에 공백이 있는지 여부는 첫 번째 문자열이 진실인지 거짓인지 결정합니다.


27
코드가 슬프다:(
Roman Gräf

14
unprintables를 기꺼이 사용하려는 경우 "Bncd\x19Fnke":)대신 행복한 코드입니다 ( \x19).
Outgolfer Erik

15

젤리 , 18 바이트

“½ċṭ6Ỵ»ḷ
“Ñ1ɦ+£)G»

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

설명

작성된 프로그램에서 첫 번째 줄은 절대로 실행되지 않는 도우미 기능입니다. 두 번째 줄 (프로그램의 마지막)은 주 프로그램이며 문자열의 압축 된 표현입니다 "Programming Puzzles"(암시 적으로 인쇄 됨).

개행을 제거하면 모든 것이 하나의 큰 프로그램이됩니다. “½ċṭ6Ỵ»문자열의 압축 표현입니다 "Code Golf". 오른쪽 인수를 평가하지만 무시하지만 실행하기 전과 동일한 값을 유지합니다. 부작용에 대한 함수를 평가하는 데 사용할 수 있지만 (이전에 수행 한 작업) 여기에서와 같이 코드를 효과적으로 주석 처리하는 데 사용할 수도 있습니다.

흥미롭게도 여기서 실제 논리는 05AB1E 항목보다 짧지 만 문자열 압축기가 이러한 특정 문자열을 압축하는 데 덜 적합하기 때문에 전체 코드가 더 길어집니다.


이것은 유효한 것으로 판명되었습니다.
Outgolfer Erik

내 지식으로는 잘 알려진 인코딩을 가정하면 1 바이트를 사용하여 이러한 문자 중 일부를 저장할 수 있습니다. UTF-8에서 36 바이트를 얻습니다 ... 틀렸습니까?
steffen

@steffen : Jelly는 자체 문자 인코딩을 사용하며 , 사용 하는 256 가지 문자를 모두 단일 바이트에 저장할 수 있습니다. (기존의 인코딩을 사용하는 대신 이것을 수행하는 유일한 이유는 가독성을위한 것입니다! 읽기가 더 어렵습니다.)

13

젤리 , 17 바이트

“Ñ1ɦ+£)G“½ċṭ6 Ỵ»Ṃ

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

작동 원리

다른 젤리 답변 Ñ1ɦ+£)G과 마찬가지로 프로그래밍 퍼즐코드 골프½ċṭ6Ỵ 문자열을 인코딩하십시오 . 문자열 리터럴을 시작하고 한 문자열을 다른 문자열과 분리하고 리터럴 종류 (사전 기반 압축)를 선택하므로 결과는»

["Programming Puzzles", "Code Golf"]

그런 다음 최소값을 취하여 Code Golf를 생성 합니다.

그러나 ½ċṭ6와 사이에 공백을 추가하면 완전히 다른 두 번째 문자열이 표시되고 리터럴은

["Programming Puzzles", "caird coinheringaahing"]

이후 케어 드의 coinheringaahing이 보다 사전 큰 퍼즐을 프로그래밍 , 대신 첫 번째 문자열을 선택합니다.


단지와 같은 한“½ċṭ6Ỵ“Ñ1ɦ +£)G»Ṁ
조나단 앨런

잘 알려진 인코딩을 가정하면 1 바이트를 사용하여 해당 문자를 저장할 수 없습니다. UTF-8에서 34 바이트를 얻습니다 ... 틀렸습니까?
steffen

@steffen Jelly는 이해하는 256 개의 문자 각각을 단일 바이트로 인코딩 하는 사용자 지정 코드 페이지 를 사용합니다 .
데니스

@Dennis 감사합니다.
steffen

13

자바 스크립트, 46 43 42 바이트

x=>" "?"Programming Puzzles":"Code\40Golf"

console.log((x=>" "?"Programming Puzzles":"Code\40Golf")())
console.log((x=>""?"ProgrammingPuzzles":"Code\40Golf")())


5
\x20첫 번째 문자열에서 공백을 공백으로 바꿀 수 있습니다 .
얽히고 설킨

잘 했어요. 이것은 후행이 필요합니까 ;?
ricdesi

@ricdesi 아니오, 그렇지 않습니다.

3
@ricdesi 이것은 codegolf이므로 프로그램이 실행되면 작동합니다. ;JavaScript에서는 때때로 필요하지 않습니다.
Stephen

2
당신은 대체 할 수 \x20\40바이트 :-) 저장
ETHproductions

10

Wolfram 언어, 62 바이트

"Programming Puzzles"[ToExpression@"\"Code\\.20Golf\""][[0 1]]

의 공간 [[0 1]]은 암시 적 곱셈이므로 이는와 같습니다 [[0]]. 공간이 없으면 01바로 1입니다. 이 표현식의 0 번째와 1 번째 부분은 원하는 문자열입니다.

의심스러운 유효성의 또 다른 솔루션 (44 바이트, 2는 Kelly Lowder에 의해 저장 됨) :

"Programming Puzzles"["Code\.20Golf"][[0 1]]

\.20티카 환경에 입력했을 때 즉시 공간으로 대체, 그래서 그것이 다른 공간과 함께 제거됩니다 경우는 명확하지 않다됩니다 ...


1
이스케이프 시퀀스 (클라우드 기반 여부)를 Mathematica에 붙여 넣거나 입력하자마자 \:0020공백으로 바뀌어 제거 될 것이므로 이것이 확실하지 않습니다. 또한 \.20두 글자로 짧습니다. "Programming Puzzles"["Code"<>FromCharacterCode@32<>"Golf"][[01]]작동합니다.
Kelly Lowder

1
@KellyLowder, 흠, 좋은 지적입니다. 그 문제를 피해야 할 다른 솔루션을 추가했습니다. ( \.20제안 해 주셔서 감사합니다. 어떻게 찾았습니까? 전체 문서를 다듬어 버린 줄 알았는데…)
나무가 아닙니다.

1
\.20오타를 만들어서 찾았습니다 . 두 자리 문자 코드에만 작동하는 것 같습니다. 나는 그것이 문서에 있다고 생각하지 않습니다.
Kelly Lowder

8

엑셀-56 바이트

=IF(""=" ","Code"&CHAR(32)&"Golf","Programming Puzzles")

대부분의 다른 답변과 매우 유사합니다.


8

하스켈, 48 바이트

a _="Programming Puzzles";a4="Code\32Golf";f=a 4
a_="ProgrammingPuzzles";a4="Code\32Golf";f=a4

f해당 문자열을 반환하는 함수 를 정의합니다 .

참고로 이전 버전은 다음과 같습니다.

하스켈, 49/47 바이트

f""="Code\32Golf";f(_)="Programming Puzzles";f" "

공백이 제거 된 상태

f""="Code\32Golf";f(_)="ProgrammingPuzzles";f""

두 가지 간단한 패턴 일치. (_)모든 패턴과 일치합니다. 두 번째 패턴을 f" "=/ 로 정의하여 공백없이 버전을 1 바이트 씩 향상시킬 수 f""=있지만 "패턴 일치는 중복됩니다"라는 경고가 표시됩니다.

바이트 수가 동일한 대체 솔루션 :

last$"Code\32Golf":["Programming Puzzles"|" ">""]
last$"Code\32Golf":["ProgrammingPuzzles"|"">""]

7

, 33 32 바이트

CP437 인코딩을 사용합니다.

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀
▀4>~H├MS░l╬δ

온라인으로 사용해보십시오! 또는 공백없이 시도하십시오.

설명

공백으로 :

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Push "Programming Puzzles" (compressed string)
                       Implicitly output the top stack element


▀4>~H├MS░l╬δ           Helper wire (never called)

공백없이 :

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀▀4>~H├MS░l╬δ    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀                Push "Programming Puzzles" (compressed string)
                   ▀4>~H├MS░l╬δ    Push "Code Golf" (compressed string)
                                   Implicitly output top stack element

마침내 문자열 압축을 마쳤습니다.
Nick Clifford

1
@NickClifford 내가 알아 차린 흥미로운 점은 Code Golf압축 할 때 더 길어 졌다는 것 입니다. 그게 수도 때문인 것 같아? 어느 쪽이든 문자 그대로 공백을 사용할 수 없기 때문에 평소에 쓰는 것보다 짧습니다.
비즈니스 고양이

예, Smaz는 그런 것이 이상합니다.
Nick Clifford

참고로, Ohm에 대한 질문이나 기능 요청이 있으면 채팅으로 저를 ping하십시오.
Nick Clifford

7

apt , 29 바이트

공백이있는 경우 :

`Co¸{S}Golf`r `PžgŸmÚÁ Puzz¤s

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

공백없이 :

`Co¸{S}Golf`r`PžgŸmÚÁPuzz¤s

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


이것은 Japt에서 공간이 메소드 호출을 닫는다는 점을 이용합니다. 공백이 있으면 코드는 다음 JavaScript 코드와 거의 같습니다.

("Code"+(S)+"Golf").r(),"Programming Puzzles"

이는 JavaScript로 평가되며 결과는 STDOUT으로 전송됩니다. 마지막 표현식은 "Programming Puzzles"이므로 해당 문자열이 인쇄됩니다.

공백이 없으면 코드는 대략 다음과 같습니다.

("Code"+(S)+"Golf").r("ProgrammingPuzzles")

(지금까지 파악하지 않은 경우 S변수는 단일 공백입니다.) .r()문자열 의 메소드는 하나의 인수가 제공되면 해당 인수의 모든 인스턴스를 문자열에서 제거합니다. 을 "Code Golf"포함하지 않으므로 변경되지 않은 "ProgrammingPuzzles"상태로 반환 "Code Golf"한 다음 STDOUT으로 전송됩니다.


나는 replace를 사용할 생각조차하지 않았다. 좋은 것!
Tom

내 지식으로는 잘 알려진 인코딩을 가정하면 1 바이트를 사용하여 이러한 문자 중 일부를 저장할 수 있습니다. UTF-8에서 36 바이트를 얻습니다 ... 틀렸습니까?
steffen

@steffen Japt는 ISO-8859-1 인코딩을 사용하며, 각 문자는 1 바이트를 나타냅니다. 그러나 일부 문자는이 프로그램에서 인쇄 할 수 없으므로 여기에서 Windows-1252 인코딩을 사용했습니다 (실제로 TIO에 의해 자동 생성되었습니다 )
ETHproductions

6

Brachylog , 44 바이트

" "Ṣ∧"Programming Puzzles"w|"Code"wṢw"Golf"w

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

설명

" "Ṣ                                           If " " = Ṣ (which is itself " ")
    ∧"Programming Puzzles"w                    Write "Programming Puzzles"
                           |                   Else
                            "Code"w            Write "Code"
                                   Ṣw          Write " "
                                     "Golf"w   Write "Golf"

1
교차 44 44 여전히 44 :( 수정 &nbsp;하려면 수정 :)
HyperNeutrino

@HyperNeutrino 교차하지 않았으며 44는 공백이있는 길이이며 42는 공백이 없습니다.
Fatalize

오. 으악. 글쎄, 너무 비슷해서 편집으로 이동하여 마크 다운을 보지 않고 말할 수 없었습니다. 신경 쓰지 마라 : P
HyperNeutrino

5

Alice , 44 바이트

/"floG!"t"edoC"#
 /"selzzuP gnimmargorP"d&o@

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

공백없이 :

/"floG!"t"edoC"#/"selzzuPgnimmargorP"d&o@

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

설명

첫 번째 프로그램에서 두 미러 /는 명령 포인터를 두 번째 행으로 리디렉션합니다. "selzzuP gnimmargorP"필요한 코드 포인트를 reere 순서로 d푸시하고 스택 깊이를 푸시하고 &o해당 바이트를 인쇄합니다. @프로그램을 종료합니다.

공백이 없으면 프로그램은 모두 한 줄에 있습니다. 이 경우,이 때문에 명령 포인터는, 서수 모드로 이동할 수 없습니다 /효과적으로 어떤 작전이 (기술적으로 IP 단순히 한 단계 이동하지 않습니다가 동일, /다시 실행됩니다, 그리고 IP 다시 추기경 모드로 반영 ). 따라서 프로그램에서 그것들을 삭제하면 다음과 같습니다.

"floG!"t"edoC"#"selzzuPgnimmargorP"d&o@

에 공백을 포함시키기 Code Golf위해 느낌표를 대신 사용하여 느낌표를 줄입니다 t. 스택에 모든 코드 포인트 #가 있으면 두 번째 문자열 인 다음 명령을 건너 뜁니다. d&o그런 다음 스택을 다시 인쇄하고 @프로그램을 종료합니다.


이 골프를해야합니다 (44에서 44 교차)
MilkyWay90

5

PHP, 44 바이트

삼항 연산자

<?=" "?"Programming Puzzles":"Code\x20Golf";

PHP, 51 바이트

논평

<?=/** /"Code\x20Golf"/*/"Programming Puzzles"/**/;

PHP, 57 바이트

어레이 스위치

<?=["Code\x20Golf","Programming Puzzles"][(ord("
")/10)];

5

공통 바이트 (SBCL), 52 바이트

(format`,t"~[Programming Puzzles~;Code~@TGolf~]"0 1)

인쇄물 Programming Puzzles

(format`,t"~[ProgrammingPuzzles~;Code~@TGolf~]"01)

인쇄물 Code Golf

언 골프 드 :

(format t "~[Programming Puzzles~;Code Golf~]" 0 1)

설명 :

트릭은 기본적으로 #'formatCommon Lisp의 작동 방식에서 비롯됩니다 .

CL에서 토큰 시작 또는 종료 위치에 대한 모호성이없는 경우 대부분의 공백은 생략 할 수 있습니다. 첫 번째 요령은 formatt기호를 분리하는 것이 었습니다 . 해석 format방법을 바꾸지 않고서도 상징 을 분명하게 끝내야했습니다 t. 운 좋게도 CL의`는 앞의 토큰을 처리하기 전에 종료하고 ,`(`의 효과를 취소합니다., 은 평가되고 템플릿에 포함 된 결과는`에 거의 영향을 미치지 않는다.)

세 번째 인수 format는 템플릿 문자열입니다. formatC의 printf와 비슷하지만 훨씬 더 강력한 형식 지정 지시문이 있으며 % 대신 ~를 사용하여 지시합니다. ~ [및 ~]를 사용하면 ~를 사용하여 여러 인쇄 옵션 중에서 선택할 수 있습니다. 그들을 분리. 인쇄하려는 숫자 색인의 형식을 지정하기 위해 추가 인수가 제공됩니다. Code Golf에서 ""가 유지되도록하기 위해 공백을 삽입하고 일반적으로 텍스트를 열에 정렬하는 데 사용되는 테이블 지시어 인 ~ T를 사용했습니다. ~ @ T는 주어진 수의 공백을 삽입하는 변형이며 기본값은 1입니다.

마지막으로 format-0과 1에 대한 두 개의 인수가 있습니다. 공백을 제거하기 전에 ~ [~; ~]에서 0을 사용하여 "Programming Puzzles"를 선택하고 추가 형식 인수 (1)가 삭제됩니다 (나는 표준에서 추가 형식 인수를 삭제하는 방법이 확실하지 않지만 Steel Bank Common Lisp에서 작동합니다). 공백이 제거 된 후에는 "Code Golf"를 대신 선택하는 인수 (01)가 하나만 있습니다.


1
+1, 단 한가지 : "접두사로 접두어가 붙은 하위 표현식 ,이 평가되어 ,@접속 됩니다" 접속에 필요 하지 않습니까?
PrzemysławP

"접합"은 그에 대한 나쁜 용어입니다. 기술적으로 ,다음 표현식을 회피하고 결과를 템플릿에 포함시키는 반면 ,@, 표현식이 목록으로 평가되고 해당 목록의 내용을 템플릿에 직접 포함한다고 가정합니다. 전통적으로 lisp 커뮤니티에서 ,@"접합"이라고하지만 이것이 가장 확실한 선택인지는 확실하지 않습니다. 나는 그것을 다시 말하려고 노력할 것이다.
djeis


4

C # 88 81 70 63 바이트

Func<string>@a=()=>" "==""?"Code\x20Golf":"Programming Puzzles";

공백이 제거 된 상태 :

Func<string>@a=()=>""==""?"Code\x20Golf":"ProgrammingPuzzles";

메서드 반환 유형과 메서드 이름 사이에 공백이없는 방법을 보여준 BrianJ, 7 18 바이트 를 저장하는 PeterTaylor 및 7 바이트를 저장하는 Patrick Huizinga 에게 감사드립니다 .

같은 방법은 정말 다른 사람으로, 기술적으로이는 방법은 방법에 대한 반환 유형을 지정하지 않기 때문에 유효하지 않은 것으로 간주하지만이있을 수 있다 반환 형식과 방법 이름 사이에 공백이 될 수 있습니다.


1
함수 이름 앞에 접두사를 붙일 수 @있으므로 void@a..."no return type"컴파일 오류가 발생하지 않아야합니다 (또한 바이트를 추가합니다 :()
Brian J

.Length<11 바이트를 저장합니다. \u0020내가 올바르게 세면 6을 절약합니다. 최상위 함수 대신 람다를 제출하여 유효한 답변을 만들고 동시에 몇 바이트를 절약 할 수 있습니다. Func<string>a=()=>...
피터 테일러

@BrianJ Hmm은 몰랐습니다. 왜 이것이 컴파일러 관점에서 작동하는지 궁금합니다. 어쨌든 바이트를 잃을 수도 있지만 기술적 으로이 대답을 경쟁이 아닌 것으로 만들므로 가치가 있습니다. 감사!
Skidsdev

@Mayube는 @예약어를 변수 이름으로 사용해야하는 경우 주로 사용됩니다 (동일한 이름 []은 VB.NET (및 MS SQL Server)에서 사용됩니다).
Brian J

1
예, 문자열을 반환해야합니다. 그러나 =>대신에 사용 return하면 공백이 필요하지 않습니다. (및 사용하더라도 ) return할 수 있습니다 return(...).
피터 테일러

4

자바 8, 74 50 48 바이트

()=>" "==""?"Code\040Golf":"Programming Puzzles"

당신 말이 맞아 @NonlinearFruit, 나는 하나가 될 것으로 변경했습니다 비 관할
Khaled.K

1
인쇄가 요구 사항이라고 생각하지 않으므로 문자열을 반환 할 수 있습니다. 나는 그것을 테스트하지 않았습니다하지만 ==, 운영자는 또한 작동합니다()=>""==""?"Code\u00A0Golf":"Programming Puzzles"
NonlinearFruit

1
\u00A0-> \0402 바이트 절약.
Poke





3

dc , 50

[pq]sm[Programming Puzzles]dZ19=m[Code]n32P[Golf]p

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

[ ]문자열을 정의- Z길이를 측정합니다. 길이가 19이면 공백이 포함되고 m 레지스터에 저장된 매크로가 호출되어 인쇄 Programming Puzzles되고 종료됩니다. 그렇지 않으면 Code Golf인쇄됩니다.


DC 인터프리터 / docs / github에 연결할 수 있습니까?
programmer5000

@ programmer5000 TIO에서 dc를 선택한 다음 언어 이름을 클릭하십시오.
데니스

@Dennis 덕분에 TIO가 그 일을한다는 것을 몰랐습니다!
programmer5000


3

T-SQL, 96 82 81 67 바이트

print+iif(len(' x')=2,'Programming Puzzles','Code'+char(32)+'Golf')

온라인으로 사용해보십시오 | 공백없이

이전 버전 (96 바이트) :

select(case'x'when(replace(' ',' ','x'))then'Programming Puzzles'else'Code'+nchar(32)+'Golf'end)

iif(len(' x')=2
훌륭

@BradC 닫기, 그러나 외부 괄호는 뒤에 공백이 필요하지 print않습니다. 나는 +대신 사용했고 효과가있었습니다.
mbomb007

붙여넣고 잘못된 것을 계산해야합니다. 그리고 나도 몰랐지만 플러스는 내가 시도한 첫 번째 캐릭터였으며 효과가있었습니다.
mbomb007

3

펄 5 , 43 41 바이트

say" "?"Programming Puzzles":Code.$".Golf

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

' '펄에서 사실 ''이고 거짓 이라는 사실을 사용합니다 . 그만큼$"변수는 기본적으로 공간으로 설정되어 있습니다.

2 바이트를 제거해 주신 @NahuelFouilleul에게 감사드립니다.


아마 늦었지만 너무 "Code$\"Golf"Code.$".Golf습니다
Nahuel Fouilleul

@NahuelFouilleul 그래, 나는이 답변을 쓸 때 꽤 새로운했다. 그래도 고마워!
크리스


2

Befunge , 76 바이트

" "0`#v_"floG"84*"edoC",,,,,,,,,@
,,,,,@>"selzzuP gnimmargorP",,,,,,,,,,,,,,

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

가장 컴팩트 한 솔루션은 아니지만 공백없이 Befunge 코드를 다시 작성하는 것은 매우 어렵습니다.

맨 처음에는 공백 문자와 0을 비교합니다. 더 큰 경우 맨 아래 행으로 이동합니다. 그렇지 않은 경우, 공간을 아무것도없는 것으로 바꿀 때 발생하는 현상은 첫 번째 행에 유지됩니다.


무엇을합니까 ,?
programmer5000

@ programmer5000 각각은 하나의 문자를 인쇄합니다.
Martin Ender

0에 도달 할 때까지 많은 수의 문자를 인쇄하기위한 팁 >:#,_은 많은 바이트를 절약 할 수있는 방법입니다.
MildlyMilquetoast
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.