ジミーは彼のプラットフォームから落ちますか?


29

バックストーリー

友達のジミーに会う:

/o\

ジミーは、プラットフォームに立つのが好きな小さなキャラクターです。プラットフォーム上に安全に立つジミーは次のとおりです。

         /o\
  -------------

現在、ジミーはバランス感覚が優れているため、次のようにプラットフォームから片足を離して安全に立つことができます。

   /o\
    -------------------

彼がプラットフォームから2つ以上の体の部分で立っている場合、彼は倒れますが。これらはどちらも、ジミーが陥る例です。

/o\                                       /o\
  ----------        ----------------------   

チャレンジ

あなたの課題は、Jimmyがプラットフォームに落ちずに立つことができるかどうかを判断するためのプログラムを作成することです。

  • 入力:ジミーの位置と彼の下のプラットフォームの位置を示す2行。これは、2つの個別の入力、単一の入力、または何らかの配列からのものです。

    1. 関数や標準入力など、合理的な形式で入力を行うことができます。あなたの言語が他のインプットメソッドをサポートしていない場合のみ、ハードコーディングに頼ってください。
  • 出力:ブール値trueとfalse、またはそれぞれtrue / falseを表す整数1または0。

    1. ブール値は、ジミーがプラットフォームにとどまることができるかどうかに基づいています-ジミーがプラットフォームにとどまることができる場合はtrue、彼が脱落する場合はfalseです。
  • プラットフォームのサイズは任意であり、自由に変更できます。あなたのプログラムはそれを説明する必要があります。

    1. プラットフォームの長さをゼロにすることはできず、プラットフォームは完全でなければなりません(プラットフォームに穴がない)。

    2. ジミーは、身体の一部がプラットフォームからぶら下がっているときに脱落することに注意してください。身体部分は、彼の身体の1つのASCII文字です。

    3. プラットフォームの最後に空白を付ける必要はありませんが、プラットフォームの後に空白がある場合とない場合の両方の状況をプログラムで考慮する必要があります。

  • 禁止されている標準的な抜け穴に注意してください。

テストケース

         /o\               ✔️ TRUE
  -------------

/o\                        ✔️ TRUE
 ----------

                    /o\    ❌ FALSE
  ------------------

               /o\         ❌ FALSE
  -------

    /o\                    ❌ FALSE
     -

得点

これはであるため、バイト数が最も少なくなります。

リーダーボード

この投稿のリーダーボードを表示するには、下のウィジェット/スニペットを展開します。投稿をランキングに含めるには# header text、次の情報を含むヘッダー()が必要です。

  • 言語の名前(カンマ,またはダッシュで終わる-)、その後に...

  • ヘッダーに表示される最後の数字としてのバイトカウント。

たとえば、JavaScript (ES6), 72 bytesは有効ですがFortran, 143 bytes (8-bit)、バイトカウントがヘッダーの最後の数字ではないため無効です(回答は8バイトとして認識されます-これを利用しないでください)。

<!-- Run the snippet to see the leaderboard. Report any bugs to @xMikee1 on Github -->    <iframe src="https://xmikee1.github.io/ppcg-leaderboard/?id=187586" width="100%" height="100%" style="border:none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe><style>html,body{margin:0;padding:0;height:100%;overflow:hidden}</style>


ジミーの後の空白を想定できますか?また、文字の配列を許可している場合、一部の言語では空白を埋め込む必要があります。
ニックケネディ

@NickKennedy末尾の空白を考慮するか、末尾の空白がないことを考慮する必要があります。厳密なルールは設定していません。
connectyourcharger

12
タイトルは「意志のジミーあるの秋プラットフォーム」と、あなたは、出力「意志ジミーに必要なの滞在プラットフォーム」。これは予想される動作ですか?
tsh

6
テストケースを再フォーマットして、コピー&ペーストしやすくしてください。
シャギー

2
真偽値の交換は許可されていますか?(つまり、ジミーが倒れたときに真を出力し、そうでない場合は偽を出力しますか?)
Xcoder氏

回答:


20

ゼリー、6バイト

n⁶Sċ2Ẓ

オンラインでお試しください!

説明:

n⁶Sċ2Ẓ  args: z (e.g. [['/', 'o', '\\'], [' ', '-']] => 0)
        implicit return value: z ([['/', 'o', '\\'], [' ', '-']])
n⁶      dyad-nilad pair ([[1, 1, 1], [0, 1]])
 ⁶       4th command-line argument or space [4th CLA assumed absent] (' ')
n        vectorized inequality ([[1, 1, 1], [0, 1]])
  S     reduction by addition with base case 0 ([1, 2, 1])
   ċ2   dyad-nilad pair (1)
    2    literal (2)
   ċ     number of occurrences of right in left (1)
     Ẓ  primality (0)

26
時には、人類がどれだけ進歩して6バイトで、誰かがプラットフォームから運命を落とすかどうかを確認できるかどうかを疑問に思います。
IMustBeSomeone

4
@IMustBeSomeone、プラットフォームから自分の運命に落ちてしまうなら、誰かに素早く教えてほしい!
シャギー

18
@Shaggy私は、人々が紹介で挑戦したときはいつも面白いと思っていました。「Xにあまり時間をかけたくないので、コードはできるだけ短くしなければなりません。」ほとんどの場合、反対です。からO n nに行くパフォーマンスを気にするバイトを保存できるなら、バイトが取れました!; pOログnOnn
ケビンクルーッセン

1
私はゼリーを知りませんが、なぜS行ではなく列を合計するのですか?:S Wikiを正しく見た場合、コードは次のことをn⁶行います。各文字がスペースに等しくないことを確認します(つまり、['/o\\', ' -'] -> [[1,1,1],[0,1]])。S合計リスト(ただし、何らかの理由で、これは行ではなく列を合計します。.so [[1,1,1],[0,1]] -> [1,2,1]); ċ22秒の量をカウントします。結果が暗黙的に出力された後、これが素数(つまり2または3)かどうかを確認します。しかし、私は[[1,1,1],[0,1]]合計する[3,1]と予想していました..
ケビン・クルーッセン

1
@KevinCruijssen Sはに相当します0;+/Ɗ。つまり、初期値を使用して(ベクトル化する)加算により縮小します0§期待Sしたことを行います。
アウトゴルファーのエリック

19

JavaScript(ES6)、38バイト

入力をとして受け取ります(a)(b)0または1返します。

a=>b=>b[a.search`o`]=='-'&/--/.test(b)

オンラインでお試しください!

どうやって?

"o"最初の文字列でジミーの体の中央部分の位置を探し、同じ位置で2番目の文字列にダッシュがあるかどうかをテストします。

b[a.search`o`] == '-'

この状況でジミーが安全でない唯一のケースは、シングルダッシュプラットフォームの場合です。

/o\
 -

したがって、プラットフォームの幅が少なくとも2であることも確認します。

/--/.test(b)

JavaScript(ES6)、36バイト

ジミーの下に常にダッシュまたはスペースがあると仮定した場合の代替バージョン(つまり、入力は長方形です)。

a=>b=>b[a.search`o`]!=0&/--/.test(b)

オンラインでお試しください!

数値への強制は、スペースでは0、ダッシュではNaNであるという事実を利用します。


ワオ。それがどのように機能するか説明できますか?
connectyourcharger

@connectyourcharger説明を追加しました。
アルノー

3
天才!JSの回答は通常それほど短くはありません。
connectyourcharger


@Oliverは次の期間失敗します"/o\\\n__"
tsh

10

Excel、67 45 44バイト

=(MID(A2,FIND("o",A1),1)="-")*(TRIM(A2)>"-")

ジミーをA1プラットフォームの上に置いてくださいA2

2つの条件が確認されました:

  • ジミーの胴体(o)はプラットフォームにありますか?
  • プラットフォームは単なる以上のもの-ですか?

1
最初の5分以内の@Keeta編集は、編集履歴に表示されません。
ファンドモニカの訴訟

私は限られたテストから、私はあなたが変えることができると思います<>>
テイラー・スコット

9

Python 3、88 43バイト

入力は、2つの文字列を含むリストの形式で提供されます。最初の文字列は最初の行です。2番目の文字列は2行目です。

lambda a:sum(1-(" "in i)for i in zip(*a))>1

オンラインでお試しください!

43バイトを結ぶ別のバージョン(43より短くすることはできませんでした):

lambda a,b:b[a.find("/"):][:3].count("-")>1

オンラインでお試しください!

Jo Kingからのヒントのおかげで42バイト減少。

旧バージョン:

lambda s:sum((s.split("\n")[1]+" "*len(s))[i]=="-"and s[i]!=" "for i in range(len(s)))>1

Sriotchilism O'Zaicのおかげで-2バイト。

これは、2つの別々の入力を取得し、対応する文字をペアにすることで機能します。どちらの文字もスペースでないペアの数をカウントし、その数が1より大きい場合はTrueを返します。


8

Perl 6、18バイト

{?/''B|Bq/}o&[~^]

オンラインでお試しください!

2つのパラメーターを受け取り、Jimmyがプラットフォームにとどまるかどうかのブール値を返します。これは、2行をXORし、Jimmyのいずれかの部分がまだプラットフォーム上にあるかどうかを確認することで機能します。

説明:

             &[~^]   # String XOR operator
{          }o        # Combined with the anonymous function
 ?/       /          # That checks for the regex match
   ''B              # Unprintable, B, which is "/o" ~^ "--"
       |Bq           # Or B, q, which is "o\" ~^ "--"


6

Haskell、34バイト

a#b=[1|(p,'-')<-zip a b,p>' ']>[1]

オンラインでお試しください!

以下のテクニックと他のハスケルの答えを組み合わせてこれを得ました。

Haskell、45バイト

x#'-'|x/=' '=1
x#y=0
(((>1).sum).).zipWith(#)

オンラインでお試しください!

これは、プラットフォームの上にある身体の部分(非空白文字)の数をカウントして、チェックし、それが1よりも大きい場合、我々はオフのプラットフォーム上での体の部分を数えるのではなく体の部分理由はつまりzipWith、トップラインを切るだろう底の長さとなるため、ジミーの体の一部を切り落とすことができます。これによりcycle" "、リストの埋め込みなどの操作を行う必要がなくなります。


1
中置に変換して2バイト減らすことはできませんか?
コール

1
@cole Yepあなたがコメントしたとき、私はただ編集をしていました:)
ウィートウィザード

4

MathGolf6 14バイト

`^@╞^αmÆû-oñ╧╙

オンラインでお試しください!

Nick Kennedyが提示したエッジケースを考慮して、8バイトを追加する必要がありました。

"-o-"が両方の行の圧縮文字列のサブ文字列であるかどうか、および最初の入力行で最初の文字が削除された圧縮文字列かどうかを確認します。入力を2つの別々の文字列として受け取ります。唯一の変更点は、文字がとして入力されることです/o\\\\入力する正しい方法はMathGolf内の文字列ではバックスラッシュです。

説明

`                duplicate the top two items
 ^               zip top two elements on stack
  @              rrot3
   ╞             discard from left of string/array
    ^            zip top two elements on stack
     α           wrap last two elements in array
      mÆ         explicit map using 5 operators
        û-oñ     push "-o" and palindromize to make "-o-"
            ╧    pop a, b, a.contains(b)
                 map block ends here
             ╙   max of list

ああ、それは私のMathGolfの答えよりも良いアプローチです..インターリーブの後、「-o-」を直接チェックする代わりに、サイズ2の部分に再び分割しました。
ケビンクルーッセン


@NickKennedy良いキャッチ!コードを修正する方法を確認し、合格したら投稿を更新します。ただし、おそらく数バイト追加されるため、残念です。
maxb

3

05AB1E(レガシー)9 8 7 バイト

ζðм2ùgp

-1バイトのアプローチで@ Mr.Xcoderに感謝ðм2ùます。

2つの文字列のリストとして入力します。

05AB1Eのレガシーバージョンでのみ機能します。これζは、文字列のリストと文字の2Dリストを転置できるためです。一方ζ、新しい05AB1Eバージョンでは、文字の2Dリストでのみ機能します。

オンラインそれを試してみたり、すべてのテストケースを確認してください

説明:

ζ        # Zip/transpose; swapping rows/columns, with space as default filler
 ðм      # Remove all spaces from each string
   2ù    # Only leave strings of size 2
     g   # Count how many there are left
      p  # Check if this is a prime (2 or 3)
         # (after which the result is output implicitly)

1
タイトルがリーダーボードを破る、smh :)
connectyourcharger

@connectyourchargerああ、おそらくbytesコードページに常にリンクしているので、UTF-8でエンコードされていませんが、代わりにカスタムエンコードを使用していることがわかります。;)必要に応じて、タイトルの下にエンコードを配置するように私の回答を編集できますが、正直なところ、リーダーボードのコードはそれをそのまま処理できるはずです。
ケビンクルーッセン

05AB1Eに特別なケースを追加する必要があるように感じます。これは、コードページに問題がある唯一の言語の1つです。すぐに着信を修正します。
connectyourcharger

1
変更された正規表現を考え出すのに苦労しています。今のところ、それは永続的なバグになります。貢献したい場合は、スクリプトgithub.com/xMikee1/ppcg-leaderboard/edit/master/docs/script.jsをご覧ください。バイト解析を完全にリファクタリングする必要があるかもしれません。
connectyourcharger

URLをhttps://github.com/Adriandmen/05AB1E/wiki/Codepage?7無効にせずに7を最後の数字にするようにURLを変更することはできませんか?
LF


3

Dyalog APL Extended、11 10 8バイト

21⊥∧⌿⍤<

オンラインでお試しください!

説明:

21⊥∧⌿⍤<  a monadic train
       <  Compare the input with the implicit prototype element - a space.
          Returns a boolean matrix of characters that are greater than 0x20
    ∧⌿⍤   and-reduce that, i.e. places where both Jimmy and a platform is
  1      base 1 decode, aka sum - the amount of body parts over the platform
2        is that greater-or-equal to 2?

-2Adámに感謝します。



3

Excel、36バイト

=LEN(TRIM(MID(A2,FIND("/",A1),3)))>1

ジミーでA1、プラットフォームでA2

ジミーの位置を見つけ、プラットフォームの3バイトを取得してスペースを切り取ります。結果のプラットフォームの長さが十分に長い場合、ジミーは立ちます。


3

EXCEL、94 71バイト。VBA(Excel)、87バイト

A1=ジミー、A2=プラットフォーム

-23バイト。ありがとう@Wernisch。

=(FIND("-",A2)-FIND("/",A1)<2)*(FIND("\",A1)-LEN(A2)<2)*(TRIM(A2)<>"-")

[(FIND("-",A2)-FIND("/",A1)<2)*(FIND("\",A1)-LEN(A2)<2)]*(len(replace([A2]," ",""))>1)


1
trim代わりに使用できませんlen(replaceか?
ヴェルニッシュ

ああ!それは私の頭に沈むことはありません。ハハ、@ Wernischに感謝します:)
Remoel

3

///85 93 87バイト

/~/\/\///\/o\\/(o)~ 
/
~
~/ (o) /(o)~ (o)-/(o)~- -/--~(o) - ~/) ~/)-~/o~/(-/1~-~/(~/)~ 

オンラインでお試しください!

ジミーが安全な場合、出力は1です。それ以外の場合は何も出力しません。(単項1および0。)///で入力を取得する他の方法がないため、ハードコーディングする必要があります。

/~/\/\///\/o\\/(o)~ 
/
~
~/ (o) /(o)~ (o)-/(o)~- -/--~(o) - ~/) ~/)-~/o~/(-/1~-~/(~/)~ //<INPUT HERE> 

例えば:

/\/o\\/(o)// 
/
//
/// (o) /(o)// (o)-/(o)//- -/--//(o) - ///) ///)-///o///(-/1//-///(///)//         /o\
  ------------- 

オンラインで試してみてください!

の後のスペースに注意してください<INPUT HERE>

説明:

注意!コメントのため、説明コードを実行できません。コメントは中括弧で囲まれています。また、元のコード//はに置き換えられたゴルフを使用してい~ます。このコードは説明から省略されています。

/\/o\\/(o)/            {replace Jimmy with a Jimmy with curvy arms, because slashes are hard to manipulate in this language}
/ 
/
/                      {remove unneeded spaces after Jimmy, but before the floor}

/
//                     {get rid of the line break

/ (o) /(o)/            {remove all the spaces before both Jimmy and the floor}
/ (o)-/(o)/            {for each floor tile, remove it and one space before Jimmy. This detects whether Jimmy lines up with the floor.}
                       {If Jimmy is before the floor, then there will be extra floor.}
                       {If Jimmy is behind the floor, then there will be extra spaces before Jimmy.}
/- -/--/               {Handle the case where there is a hole beneath Jimmy but he is still well-supported}

/(o) - //              {Handle the case where only Jimmy's head is on the floor. The space at the end of the code is necessary for this.}
/) //                  {The rest of the substitutions clean up the result and handle each of the possible results that could exist at this point}
/)-//
/o//
/(-/1/
/-//
/(//
/)//


              /o\   
               --
 {there is a space right before this comment. The comment is only here to make the space visible and explain itself.}

  • バグを修正するには+8バイト
  • 標準の///ゴルフトリックを適用して-6バイト。

1
ソースコードは奇妙な絵文字のように見えます。\\(o)-(o)//
tsh


2

Haskell、59バイト

f a b=sum[1|(p,q)<-zip a$b++cycle" ",elem p"/o\\",q==' ']<2

オンラインでお試しください!

関数は次のように呼び出されます。 f "/o\\ " " -- "

仕組み(for f "/o\\" " -"):

b++cycle" "-後bに無限のスペースを追加して、ジミーが常に-or " -"" - ..."

zip a$b++cycle" "-2つの文字列を一緒に圧縮します([('/',' '), ('o','-'), ('\\',' ')]

(p,q)<-zip a$b++cycle -圧縮リストの各ペアについて

[1|(p,q)<-zip a$b++cycle" ",elem p"/o\\",q==' ']1-sのリストを生成します。その長さは、条件を満たすペアの数です:

elem p"/o\\"-一番上の文字列の文字は、ジミーの身体部分の1つです。(この例では3つのペアすべてに満足しています)

q==' '-一番下の文字列の文字はスペースです。(が満たす('/', ' ')('\\', ' ')

したがって、ペアは、ジミーの身体部分の1つがスペースの上にあるものでなければなりません。

この例では、2つのペアが両方の条件を満たすため、リストは [1,1]

sum[1|(p,q)<-zip a$b++cycle" ",elem p"/o\\",q==' ']-これら1のsの合計(つまり、リストの長さ)を取得し2ます。この例ではです。

sum[1|(p,q)<-zip a$b++cycle" ",elem p"/o\\",q==' ']<2-スペースの上の体の部分の数が2未満かどうかを確認します。この例ではそうではないため、ジミーは脱落します。:(


あなたの答えが私自身の答えを短くするのを助けたことをあなたに知らせると思いました。ほんとありがと!
ウィートウィザード


2

Kotlin、60バイト

fun String.c(b:String)=zip(b){i,j->i>' '&&j>' '}.count{it}>1

説明:

fun String.c  # Define an extension function on string, so we don't have to provide a first argument (and we also have string method calls for free)
(b:String)    # Pass the second string as argument
=             # Shorthand syntax for fun body
zip(b)        # Essentially a.zip(b). Creates a List<Pair> by joining both arrays. 
              # Takes care of trailing whitespace, because it will be the size of the smaller array
{i,j->        # Declare a transformer lambda as second function argument
i>' '&&j>' '} # This essentially translates to: If i!=' ' and j=='-'
.count{it}    # Count the true values
>1

コードゴルフへようこそ!それは確かに非常に良い最初の答えです。
connectyourcharger

2

///、57バイト

/|/\/\///\/o\\/J| J/J*|
/|* /|  -/  | /|*-/|--/!|-/|*/|J|

オンラインでお試しください!

実行するためにプログラムの最後に入力を追加します。Jimmyがプラットフォームから落ちる場合は空の文字列を返し、そうでない場合は感嘆符の文字列を返します。

  • /|/\/\//置き換え|//コードの両方短く、読みやすくを行い、(|各置換を区別するために使用されます)
  • /\/o\\/J| J/J*/J簡潔にするためにジミーを置き換え、彼の左側のスペースを*右側に変更します
  • 次の置換は改行を取り除きます。
  • /* /| -/ | // キャンセルする *、プラットフォームの左側にスペースを置きます。2つ以上のスペースが残っている場合、ジミーは左に落ち、プラットフォームは削除されます。この部分は、プラットフォームの右側の空白も削除します。
  • /*-/|--/!/*プラットフォームの長さでをキャンセルします。少なくとも2つの-左がある場合、ジミーは右に落ちていないので、それらはに置き換えられ!ます。
  • /-/|*/|J// 残っていないすべての文字を削除します !


1

Retina 0.8.2、16バイト

 (.*¶).
$1
¶ ?--

オンラインでお試しください!リンクにはテストスイートが含まれます。説明:

+`^ (.*¶).
$1

最初の行にまだスペースがあり、両方の行に複数の文字が残っている間に、スペースと次の行の最初の文字を削除します。注:これは、ジミーの後に後続スペースがないことを前提としています。後続スペースを許可する必要がある場合は、+ 1バイトが必要です。

¶ ?--

ジミーの下に少なくとも2つのプラットフォームがあることを確認します。



1

Ruby 2.5.3、44バイト

->a,b{a.zip(b).map(&:join).grep(/\S-/).size>1}

入力は2つの配列として取得されます。間違いなく最もゴルフに優しいアプローチではありませんが(GBの回答を参照)、このzip機能を使用する口実が好きです。


1

PowerShell63..55 53バイト

-1バイト、mazzyのおかげ

param($j,$f)''+($f|% t*y|?{$j[$i++]-gt32})-match'- -'

オンラインでお試しください!

入力を2行として受け取ります。

展開:

param($j,$f)            #Take $jimmy and $floor
''+                     #Implicitly converts next part to string
($f |% ToCharArray      #Convert $f to a char[] and...
    |?{                 #Only take the chars where...
        $j[$i++]-gt32   #The same indexed char in $j's ASCII # is > ' ' i.e. only get /o\
     }
)-match'- -'            #Arrays.ToString are joined with a space and we need 2 -'s

ほら PowerShellは素晴らしいゴルフ言語だとは考えていませんでしたが、実際にはそれほど悪くはないと思います。
connectyourcharger

@connectyourchargerそれはパイプラインでいくつかのかなりきちんとしたことをすることができますが、それがお尻に大きな痛みがあることは間違いなくいくつかの領域があります。
ヴェスカー

私はそれらの苦痛の理由のためにそれを学ぶことを決して気にしませんでした。
connectyourcharger


1

C#(Visual C#Interactive Compiler)44 40 39バイト

ジョー・キングのおかげで-4バイト

a=>b=>a.Zip(b,(x,y)=>x>y?y:0).Sum()>109

オンラインでお試しください!



まったく機能しません。tio.run/##Sy7WTS7O/...
CharlesS

@CharlesS私はそれを修正し、プロセスでバイトを保存したと信じています
Expired Data

@ExpiredDataうん、いいね!
CharlesS

1

パイソン3.771の 56バイト

lambda s:sum(j in'/o\\'and p=='-'for j,p in zip(*s))>1

非常にシンプルなバージョンであり、このアプローチを使用することで考えることができる最短。入力sは2つの文字列のリストで、最初の文字列はJimmy-row用、2番目の文字列はプラットフォーム用です。互いの上にある文字を-圧縮し、少なくとも2つのインスタンスでジミーの一部の下にあるかどうかを確認します。

編集:ブルーのおかげでかなりのバイト数が削減されました!


1
こんにちは、Code Golfへようこそ!いくつかのこと:回答に入力形式を指定したい場合があります(sjimmy用とプラットフォーム用の2つのリストがあるように見えます)。また、バイトを節約できる場所がいくつかあります。リストを合計する代わりに、生のイテレータを合計できます(括弧を削除します)。チェックする代わりに>=2、チェックしてください>1。あなたは合計することができますTrueし、False1と0のような、のif-elseの必要はありません。最後に、同じ言語で新しい回答を投稿する前に、前の回答を見て、改善できるかどうかを確認する必要があります。
ブルー

@Blueこんにちは、どうもありがとう!ええ、今後もそのことを念頭に置いておきます :)
マイケル

1

シェブロン、84 87バイト

>^__>^j
^i<<0
^i<<^i+1
^h<^i>^j
->+2??^h=/
->-3
>^__>^p
^q<^i|2>^p
->+2??^q<--
><0
><1

これは、私自身が作成したかなり新しい言語です-プロトタイプインタープリター、ドキュメント、およびサンプルプログラムはhttps://github.com/superloach/chevronにあります。

説明:

  • >^__>^j -TXT入力としてjimmyを使用
  • ^i<<0 -インデックスを0に初期化
  • ^i<<^i+1 -増分インデックス
  • ^h<^i>^j -インデックスでジミーのキャラクターを取得する
  • ->+2??^h=/ -ジミーの左脚でループから飛び出す
  • ->-3 -ループの先頭に戻る
  • >^__>^p -プラットフォームをTXT入力として取得
  • ^q<^i|2>^p -ジミーの下の3文字を切り取ります
  • ->+2??^q<-- -ジミーの下に2つのダッシュがある場合、真実の出口にジャンプします
  • ><0 -偽の出口
  • ><1 -真実の出口

私のコードは単一文字のプラットフォームのケースを処理できないことを認識しています。更新されたバージョンはまもなく編集されます。
スーパーローチ



0

V、18バイト

0vt/"_dj.d3lVkp0#x

オンラインでお試しください!

プラットフォームのジミーが落下した場合にのみ空白を出力します。jimmyがプラットフォーム上にとどまる場合は、空白以外の何かを出力します。


VimでCtrlまたはEscを使用しないのは面白いです。
6
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.