タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

12
プラスまたはマイナスのポリグロット!
提出には、数字のリスト(言語がサポートしているリスト形式、または複数の関数/コマンドラインパラメーターを使用)または数字以外の文字で区切られた文字列を使用する必要があり0123456789ます。1つの言語では、すべてを追加して合計を出力する必要があります。別の言語では、それらを順番に減算して出力する必要があります。例: 12 5 7 2 ある言語ではを出力する必要26があり、別の言語ではを出力する必要があります-2。入力されるすべての数値はより小さい正の整数になることに注意してください100。指定された20数を超えることは決してないので、より大きい2000または小さいを出力することはありません-1899。質問は?以下にコメントしてください!

4
2048パズルのようにテキストの重力を変更する
ゲーム2048では、グリッドがあり、4つの方向に要素を移動できます。それらはすべて、可能な限りその方向に移動します。このチャレンジでは、次のように、パディングされた正方形の2D文字列(改行または文字列のリスト)が与えられます。 ab cd e f ghij kl mno p q r st u v w x y z または ['ab cd e ', ' f ghij ', ' kl', 'mno p ', ' q r st ', 'u v', ' w x y ', 'z '] 4つの操作はleft、right、up、とdown。上記の入力のそれぞれの結果: 左: abcde fghij …
14 code-golf  string 

9
パーツごとのリストと配列
この課題では、特定の方法で解決する必要がある4つの異なるが多少関連するタスクを取得します。最初にタスクを説明し、次にそれを解決する方法の説明に従います。 コードでは、4つのタスクすべてに対して、入力として2つの正の整数を使用する必要n,mがありn<mます。すべてのタスクは同じ言語で解決する必要があります。行列の方向はオプションです(n行m列は、「n行、m列」または「n列、m行」と解釈される場合があります)。 タスク1: 要素で構成されるベクトル/リストを作成(および出力/印刷)しますn, n+1 ... m-1, m。したがって、の場合n=4, m=9、次のように出力する必要があります4,5,6,7,8,9。 タスク2: 次のような行列/配列/リストのリスト(または同等のもの)を作成(および出力/印刷)します。 n, n+1, ... m-1, m n+1, n+2, ... m-1, m+1 ... n+m, n+m+1, ... 2*m-1, 2*m n=4, m=9あなたが出力します: 4, 5, 6, 7, 8, 9 5, 6, 7, 8, 9, 10 ... 13, 14, 15, 16, 17, 18 タスク3: n行m列の乗算テーブルを(適切な形式で)作成(および出力/印刷)します。例n=4, …

1
アボカドを搾り出すのを手伝ってください
このチャレンジでは、アボカドの分野があり、それを可能な限り迅速かつ完全に絞りたいと思っています。すべてのアボカドを完璧に搾り出す方法を見つけるのに役立つプログラムまたは関数を作成できますか? 入力として、アボカドを3から6の間の整数であるmx m正方形グリッドとして取得しますm。各正方形には1つのアボカドのみが含まれています。アボカドにはいくつかのジューシーな段階があります: ステージ1:アボカドはまったく搾り出されていません。 ステージ2:アボカドは部分的に搾り出されています。 ステージ3:アボカドは完全に搾り出されています。 ステージ4:アボカドは過剰な水分摂取により爆発しました。 ジューシングツールを使用すると、そのジューシングツールの効果範囲内のアボカドが次の段階に移動します。爆発するアボカドには大きな力があり、アボカドのフィールド全体を破壊するため、アボカドが爆発しないようにしてください! アボカドのグリッドの例を次に示します。これらの例では、0,0左下隅の座標2,2と右上隅の座標を使用しましたが、言語に合わせて座標系を調整できます。 112 221 231 目標は、すべてのアボカドを完全に搾り出すことです(つまり、ステージ3)。これを実現するには、3つの異なるジューシングツールを所有しています。各ジューシングツールの効果範囲は異なりますが、影響を受けるアボカドのジューシーさはすべて1増加します。 自由に使えるツールはすべてここにあります。ジューサーを使用するには、ツールの最初の文字を指定してから、ジュースにしたい座標を指定します。たとえば、square 5,2でスライサーを使用するには、を出力しますS 5,2。 スライサー:ターゲット座標と両側のアボカドを絞り出します。 112 112 112 221 --> XXX --> 332 231 231 231 おろし金:ターゲット座標とアボカドを上下に絞ります。 112 1X2 122 221 --> 2X1 --> 231 --> kaboom! 231 2X1 241 ロケットランチャー:ターゲット座標と隣接するすべてのアボカドを絞り出します。 112 1X2 122 221 --> XXX --> …
14 code-golf 

11
A、バズ、C、D、E、フィズ、G
文字列を使用した単純なFizzBu​​zz。 与えられた 1単語またはフレーズ(文字列) 2つのユニークなキャラクター 出力 最初の文字が出現するたびにfizzに置き換えられ、2番目の文字がそれぞれバズに置き換えられた単語またはフレーズ ルール フィズとバズの両方の最初の文字は大文字のままにしてください 残りの単語fizzとbuzzについては、置き換えられた文字の大文字と小文字を一致させる必要があります(大文字と小文字を区別しない場合は小文字のままにしてください) 指定した文字がフレーズに含まれていない場合は、元のフレーズを出力します テストケース Given: Hello, h, l Output: FIZZeBuzzBuzzo Given: test, a, b Output: test Given: PCG rocks!, , ! PCGFizzrocksBuzz Given: This Is SPARTA!, , S Output: ThiBuzzFizzIBuzzFizzBUZZPARTA! Given: FizzBuzz, a, b Output: FizzBUZZuzz これはコードゴルフなので、バイト単位の最短コードが勝ちです! 注意 改行のケース(これはSPARTA!)の技術的な処理は、課題の一部です。ただし、一部の言語では非常に困難または不可能であるため、これを含めないことに対する回答を無効にしません。
14 code-golf  string 

4
数学問題表記法を解く
それぞれに整数が与えられた宿題の問題が無限にあると想像してください(!)。 数学問題表記法は、問題指定子を使用して問題のサブセットを記述するための表記法です。 MPN式は、次のもので構成されます。 単一の値。これは、番号を含むセットを表します99 -> {99}。 シンプルな範囲。これは、範囲の最初から最後までのすべての数値を含むセットを表します10~13 -> {10, 11, 12, 13}。左側または右側が欠落している場合、それぞれ-InfinityまたはInfinityと見なされます~10 -> {x|x ≤ 10}。~ -> ℤ。 「スキップ」と別のMPN式が続くMPN式。これは、2つのセットの差を表します10~20 skip 12~14 -> {10, 11, 15, 16, 17, 18, 19, 20}。 コンマで区切られた2つのMPN式。これは、2つのセットの和集合を表します1,8~9,15~17 -> {1,8,9,15,16,17}。 「スキップ」演算子はコンマ演算子よりも厳密にバインドするため、16,110~112 skip 16 -> {16,110,111,112}16はset {110,111,112}に含まれないため、16を除外することは問題になりません。 曖昧さをなくすために括弧で式を置くこともできます: 1~9 skip (2~8 skip (3~7 skip (4~6 skip 5))) -> …

2
ビーチでの一日
この挑戦に触発された ゴール: 目標は、ビーチに打ち寄せる波を描くことです。 入力: 入力として3つの整数(任意の形式)が与えられます。 最初の整数は図面の長さ、2番目の整数は砂州のインデックスで、波が波紋を開始します(ビーチから少なくとも3スペース) 3番目の整数は波の間隔(少なくとも3、描画の長さよりも長くしてください。この場合、1つの波だけを描画します) 出力: 出力は、ビーチに打ち寄せる波を示す文字のボックスになります。最初の波が浜辺への衝突を完了したら、図面は終了するはずです。 最初は、波はうねりとして表示され_-_ます()。 波が砂州を通過すると、波が始まります(/c_)。 最後に、波はビーチに衝突します(/c.=> _-_=> ___=> __.)。 例: 入力:14 4 6 出力: -___________.. _-__________.. __-_________.. ___-________.. ___/c_______.. ____/c______.. -____/c_____.. _-____/c____.. __-____/c___.. ___-____/c__.. ___/c____/c_.. ____/c____/c.. -____/c____-_. _-____/c_____. __-____/c___.. 入力:10、2、11 出力: -_______.. _-______.. _/c_____.. __/c____.. ___/c___.. ____/c__.. _____/c_.. ______/c.. _______-_. _________. ________.. 入力:6 0 …

1
絵をスライドパズルにする
概要 このチャレンジの目標は、フランス語でタキンとも呼ばれる15パズル / スライディングパズルの元に戻すイメージバージョンを作成することです。 詳細: 以下で構成される入力が与えられた場合: 画像、 整数n、 他の整数r、 プログラム、関数、または適合するその他のものは、入力と同じイメージ(つまり、同じサイズと形式)を出力する必要がありますが、次のプロセスが行われました。 画像をn²長方形に分割し、 それらの長方形の1つをランダムに削除し、 ポイント(2.)の影響を受ける行/列からランダムな数の連続した長方形を移動して、作成された穴を埋め、この行/列に別の1つを生成します。この番号は0、ブランクがコーナーまたはエッジにある場合になります。 (3.)r回繰り返します。 明確化: 手順(3.)で行から長方形を移動した場合、次の繰り返しで列から長方形を移動する必要があります。 行ステップで長方形を左から右に移動した場合、次の行ステップで長方形を右から左に移動する必要があります。これは、列に関して上から下および下から上と同じです。 n画像の辺の長さを分割するように選択されると仮定できます。 最後のポイント: .gif全体のプロセスを示すアニメーションは大歓迎です。 私は(これは、次の画像を使用することを提案1024x768して、)n=16とr=100モデルとして、あなたは使用することができ、他の画像を(それはもちろん、SEの規則に関連するだと準拠限り)。 標準の抜け穴ポリシーが適用されることに注意してください。 これはコードゴルフなので、短い提出が勝ちます! 例がリクエストされたので、ここに「手で」作られたものn=4とr=1 ステップ1および2 ステップ3:行ごとに、左に2つの長方形

23
黄色の木に分かれた2つの道路(パート1)
これはシリーズの最初であり、2番目は黄色の木で分岐した2つの道路です(パート2) この課題は、ロバートフロストの有名な詩「The Road Not Taken」に触発されています。 2本の道が黄色い木に分かれていて、 残念ながら私は両方を旅行することはできず 、一人の旅行者であり、長く立っていて、できる限り 1本を見下ろしてい ました。 それから、もう一方を公平に取りました。 そして、おそらくより良い主張を持って います。 それについては、そこのパッシングは 本当に同じように着用していましたが、 そして、その朝の両方が平等に 横たわり、黒が踏まれた段差はなかった。 ああ、私は別の日のために最初を保った! しかし、道が道にどのようにつながるかを知っていたので、 私は戻ってくるべきかどうか疑っていました。 私はこれを どこか年齢と年齢のため息で告げるつもりです: 2本の道が森の中に分かれていて、 私は旅の少ない道を取りました。 そしてそれがすべての違いを生みました。 最後から2番目の行に注目してくださいI took the one less traveled by,。 あなたの実際の挑戦 次のような形式で入力を受け取ります。 # ## # ## # ## # # # 細い道を見つける必要があります。 道路はから始まり#ます。常に一番上の行で終わる他の2つの道路は、調査する必要がある道路です。最も太い道路は最も多くの人が通っているので、あなたが望む通りではありません。もう1つは最も移動が少なく、必要なものです。 出力 プログラム/関数は、2つの異なる値(たとえば、0または1、trueまたはfalse)のうちの1つを出力する必要があります。たとえば、撮影されていない道路が撮影された道路の左側にある場合は0を出力し、そうでない場合は1を出力するか、文字列「left」または「right」、true、falseなどを出力できます。 テストケース: ## # …

2
ループの内側を見つける
仕事 ループのASCII図を考える 例えば .................... ......@@@@@......... ......@...@......... .....@@...@@@@@..... ....@@........@..... ....@........@@..... ....@@@@@@@@@@...... .................... .................... そしてループ上の場所 例えば (7,1) ループの内側と外側を見つける必要があります 例えば 00000000000000000000 00000011111000000000 00000011111000000000 00000111111111100000 00001111111111100000 00001111111111100000 00001111111111000000 00000000000000000000 00000000000000000000 仕様書 改行または明らかな同等物で区切られた文字列としてダイアグラムの入力を取得できます 入力の一部として、ループ上の座標(インデックスが0または1)を受け取ります。希望する場所に原点を配置できます。この座標はで(<row>, <column>)、(<column>, <row>)または文字列の線形位置として取得できます。これらのデータは、合理的な方法で受け取ることができます。ループ上のすべての文字は、そのインデックスの文字と同じになります。 好適出力しかし、ストリングのtruthyとfalsy値の2次元配列である1と0改行以降両者の明らかな等価受け入れられることによって分離しました。内側と外側は異なる真理値を持っている必要がありますが、どちらがどちらであるかは関係ありません。 ループは、すべて同じ文字(たとえば@)であり、ループ内のすべての文字が元の文字(入力の座標にある文字)へのパスを持ち、同じ文字のみを通過するように、文字のグループとして定義されます。文字(Taxicabジオメトリ斜めなし)。 内部はすべてループそのものであり、ループを通過せずにダイアグラムの端に到達できない場所です。 外はどこにでもある これはコードゴルフです テストケース ペーストビン

1
難読化された整数表記
編集:この質問の新しいバージョンをmeta-golf近日中に投稿します。おしゃべり! 編集#2:チャレンジを更新するのではなく、開いたままにします。meta-golfバージョンは、ここに提供されています:/codegolf/106509/obfuscated-number-golf バックグラウンド: ほとんどの数字は、6つの異なるシンボルでのみ記述できます。 e (オイラーの定数) - (否定ではなく減算) ^ (べき乗) ( ) ln (自然対数) たとえば、i次の式を使用して虚数を変換できます。 (e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e))))) ゴール: k合理的な手段で整数が与えられた場合、それらの6つのシンボルのみを使用して、その数の可能な限り短い表現を出力します。 例: 0 => "e-e" 1 => "ln(e)" 2 => "ln(ee)" // Since - cannot be used for negation, this is not a valid solution: // ln(e)-(-ln(e)) -1 => "e-e-ln(e)" ノート: 終了括弧は、文字の合計数にカウントされます。 ln( …

4
休日の頭痛
警告:この投稿から医学的なアドバイスをしないでください。医学的なアドバイスが必要な場合は、資格のある専門家に相談してください。 頭痛がします。頭痛薬が必要です。 私が最後に服用した数回の投与量をお伝えしますが、過剰投与せずに次の投与量をいつ投与できるかを教えていただきます。 この文字列を提供します。 P: 00:00, I: 02:00, P: 04:00, I: 06:00 そして、あなたは私にこれを与えます: Next P: 08:00, I: 10:00 入力: 次の形式で、各薬剤が服用された時間を表す文字列: P: 00:00, I: 02:00, P: 04:00, I: 06:00 これは、パラセタモールが00:00と04:00に服用され、イブプロフェンが02:00と06:00に服用されたことを意味します。 出力(更新): 次の形式で、各薬剤の次の服用時間を示す文字列: Next P: 08:00, I: 10:00 出力の順序は、薬を服用する順番にする必要があります。-イブプロフェンを09:35に、パラセタモールと10:22に服用する場合、出力は次のようになります。Next I: 09:35, P: 10:22 各薬剤の次の投与の時間が同じ場合、出力順序は重要ではありません。 Next P: 08:00, I: 08:00またはNext I: 08:00, P: …
14 code-golf  string  date 

20
出力キーストローク
任意のプログラミング言語で、入力を受け取り、キーボードで入力されるテキストをアニメーション化するプログラムを作成します。 キーボードでの真のタイピングをシミュレートするには、各文字間の遅延を変化させる必要があります。遅延は0.1, 0.1, 0.5, 0.1, 0.1, 0.5 ...、最後の文字が印刷されるまでの秒数です。最終出力は画面に残されます。 テキストを新しい行に印刷できないようにするには、現在のテキスト行を上書きする必要があります。 例、入力 "Hello、PPCG!Goodbye Earth!" 次のアニメーションが生成されます(gif-makerのサンプリングレートが低かったため、実際の結果はわずかに異なります)。 これはコードゴルフであるため、バイトの最小量が勝ちます。

13
永続的に自己修正するコード
現在、ほとんどの言語にはコードを「自己修正」する非常に簡単な方法があることがわかっています。ただし、実際にコードを変更してその一部をディスク上で編集する場合はどうでしょうか? あなたの目標は、数字を出力するコードを作成し、フィボナッチ数列の次の数字で数字を置き換えるように独自のファイルを編集することです: $ ./program 1 $ ./program 1 $ ./program 2 $ ./program 3 $ ./program 5 [etc...] ルール コードの「外側」に番号を保存することはできません。コメントなし、スクリプトに終了するよう指示せず、EOFなしなど コードが任意のファイル名で機能する場合、バイト量から2を引き$BYTESNOW ($ORIGINALBYTES - 2)、タイトルを記述します。(ファイル名は、任意の英数字ファイルパスの範囲内であると想定されます。) コードは、外部の配管支援なしで、出力をファイルに単独で書き込む必要があります。 コードは1または0から開始できます。関係ありません。

6
KeyPad Code to Text!
入力として文字列と配列が与えられた場合、タスクは、典型的なモバイルキーパッドで入力されたときに入力文字列が印刷するテキストを出力することです。モバイルキーパッドでは、ボタンをn回押すことで文字が入力されます。nは、ボタンのラベル上の文字の位置です。したがって、22出力する必要がありますb。 ルール ヘルパー配列には文字マップ([" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"])が含まれます。これはいくつかのバイトを節約するために与えられます。 #シンボルは、ケースを切り替えます。最初のケースは低くなります。だから、2#3出力すべきaD。 0スペースを追加します。したがって、202出力する必要がありますa a。 入力文字列には、同じ数字ボタン上にある新しい文字を開始するためのスペース()があります。aa入力例では、入力文字列はになります2 2。 入力文字列は常に有効なキーパッドコードであることが保証されています。 入力 あなたの言語がサポートするどんな方法でも入力を受け取ることができます。 出力 結果は任意の方法で出力できます。機能returnも許可されています。 テストケース #4440555#666888330#999#66688111 -> "I Love You!" #6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!" #44#27 79990#66#3390#999#332777111 -> "Happy New Year!" これはcode-golfなので、バイト単位の最短コードが勝ちです!

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