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

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

4
手紙の戦い
あなたの仕事は簡単です:手紙の戦いに勝った人を教えてください。 軍隊 この戦闘には3つの異なる「部隊」があり、この表に要約されています。 name | health | damage A 25 25 B 100 5 C 10 50 部隊を表すために3つの固有の文字を使用できますが、これらの文字でないかどうかを指定する必要があります。 戦い サンプルの戦闘があるとします。 ABC # army 1 CBA # army 2 各軍は、左端のユニットが死ぬまで繰り返し発砲します。その後、彼らは右の軍隊に移動し、繰り返します。2回の攻撃軍はそれほどA軍1までA死んで、その後に移動しB、その後、C。軍1がC最初に攻撃し、次にB、次にA。軍が同時に攻撃すると仮定します。したがって、ラウンドの前に軍が生きていれば、軍は常に射撃し、同時にお互いを殺すことができます。左から順に発砲します。 戦闘は次のように展開されます。 ABC CBA BC # A (25 hp) killed by C (-50 hp), B (100 hp) attacked by B (-5 hp) …
9 code-golf 

1
ムリエルのような言語と実装を作成する
ムリエルは、ループする唯一の方法がクインを作成して実行することである言語です。あなたの仕事は、このプロパティを使用して独自の言語を作成し、それを既存の言語で実装することです。 Murielのような言語を次のように定義します。 Murielの@コマンドまたはpythonのコマンドと同様に、独自の言語でコードを実行するための組み込みコマンドがありますexec。 チューリング完成です。 組み込みの実行コマンドを削除すると、チューリングが完了しなくなります。 Murielは@、組み込みの実行コマンドとして、Murielに似ています。SmurfもMurielに似ています(組み込みの実行コマンドはx)。Pythonは、削除してもチューリング完全であるため、ムリエルのようなものではありませんexec。 あなたの仕事は、ムリエルのようなプログラミング言語を作成し、それを選択した言語で実装することです。あなたのスコアは、あなたが最小化しようとしている実装の長さです。 ノート: 組み込みの実行は、Murielとまったく同じように機能する必要はありません。子プログラムの終了、エラー、スコープなどをどのように処理するかはあなた次第です... 実装を記述する言語自体がムリエルのようであってはなりません。(これは@有効なエントリではありません。)また、この投稿の前に存在している必要があります。

8
テコンドーは好きですか?
チェ・ホン・ヒは2002年6月15日に名誉ある83歳で亡くなりました。彼はテコンドーを設立しました。 彼の死から15年後、私はテコンドーのマスターになりたいです。今こそ輝く時です! 仕事 文字列を指定すると、テコンドーバージョンを出力する必要があります。 ルール 有効な入力により、空でない文字列/文を受け取ります 各タイトル(大文字と小文字は区別されません)は、改訂されたローマ字表記に置き換える必要があります。 , *side kick*私はサイドキックをするのが好きなので、文の最後に追加する必要があります。 この変更された文を文字列として出力する必要があります。 これは、答えのバイト数を最小限に抑えることを目的としたコードゴルフです 例 "I am a Student and I do Taekwondo twice a week" => "I am a Geup and I do Taekwondo twice a week, *side kick*" "I am a Teacher willing to be a President" => "I am …

3
行エディター(詳細はこちら)
昔の霧の年、ファンフォールドターミナルが地球を歩くと、奇妙な生き物が住んでいました。奇妙に不自由でありながら奇妙に強力なラインエディターは、プログラミングランドスケープ内で数えきれないほど多くにあふれていました。目に見える限り地球を覆います。 今では苦境に陥っています。その広大な人口は狩猟、猟、そして絶滅の瀬戸際に追いやられました。少数の標本しか残っていませんが、ほとんどが、啓発されていない種類の動物園の窮屈で未完成の檻の中にあります。ああ、ありますed。 フランケンシュタインのように、高貴な獣を復活させます! コマンド 私たちのエディターはかなり最小限であり、次のコマンドをサポートします フォーカス移動コマンド <number>[,<number>]-指定された行にフォーカスを移動し、2番目の引数が状態列に指定されている場合。過剰な行番号は最後の行を取得します。列番号が多すぎると、行の終わりになります。 ,<number> -現在の行の列番号に移動します e -フォーカスをファイルの最後に移動しますが、新しい行は開始しません。 b -フォーカスをファイルの先頭に移動します。 情報コマンド L-現在のコンテキストをエコーし​​ます。現在の行を中心とした5行が印刷されます。5行すべてが1文字でインデントされます。現在の行には ">"が付いており、その他の行には ""が付いています。これらの行の下には、現在の列の「^」を除いて、スペースのみで構成される別の行が印刷されます(合計6行が印刷されます)。 l -現在の行をエコーし​​ます p [[<start>],[<end>]]-ファイルを開始アドレスから終了アドレスまで印刷します。これらの値のデフォルトは1および0(ファイルの終わり)です。 ファイル変更コマンド A [<text>] -ファイルの最後(つまり、新しい行の先頭)を超える行に移動し、(場合によっては)テキストを追加します。 <return>(単独)-改行を挿入します。したがってa <return> <return>、現在の行の後に改行を挿入します。 r <text> -フォーカスから行末まですべてをテキストに置き換えます。 i [<text>]-現在のフォーカスにテキストを挿入し、その後に改行を挿入します。この行のフォーカスを超えた部分は、次の行になります。 I <text>-現在のフォーカスにテキストを挿入し、行の残りを保持します。焦点はこの線のままです。 d -現在の行の内容を削除するか、現在の行がすでに空の場合は、その行を削除します。 j -この行を次の行に結合します この最後のグループの最初の4つの終わりは、フォーカスが次の行に移動しI、追加されたテキストの終わりにフォーカスが保持されます。フォーカスを削除または結合すると、同じ行と列番号のままになります。 コマンドの行番号の解釈 「+」または「-」で始まる番号は、現在の行番号からのオフセットとして解釈されます。符号なしの番号は絶対行番号として解釈されますが、「0」はファイルの最終行を意味します。 プロンプトと相互作用 エディターはシェルとして機能し、プロンプトの形式<line>','<column>'>'はlineは行番号です。ただし、フォーカスがファイルの最後の文字にある場合は「end」が使用されます。 各コマンドは、ユーザーが改行を押したときにのみ受け入れられます。そして影響を与えます。 Readlineサポートは許可されていますが、必須ではありません。 コマンドの説明で明示的に述べられていない限り、プロンプトのおよびの値の変更を除いて、フィードバックは提供されません。 得点 これはcode-golfなので、各言語で最も短い答えが優先されます。 これをサンドボックスで作成してくれたdmkeeに特に感謝します。
9 code-golf 

16
CMYK値をRGBに変換する
CMYKのカラーコードを指定して、RGB値に変換します。 入力: スペースで区切られた4つの整数(0〜100の範囲)の文字列 86 86 0 43 28 14 0 6 0 41 73 4 出力: #141592 #ABCDEF #F49043 最短のコードが勝ちます! ヒント: CMYKをRGBに変換するには、次のような式を使用できます。 Red = 255 x (1 - Cyan/100) x (1 - Black/100) Green = 255 x (1 - Magenta/100) x (1 - Black/100) Blue = 255 x (1 - …

4
もう一度通知しますか?
前書き これまでのことを聞いた思い出させますか?番号?私も約2年前までしませんでした。基本的な前提は、教師がリマインダーを送信し、生徒とコミュニケーションをとることです。かなりきちんとしていますか?エモートを送信してメッセージに反応することもできます!私は日常的にそれをしています。 ただし、リマインダーについての1つのことは、教師が常に「宿題をしてください!」を送信することです。「そうしないと、Fがもらえます!」。しかし、「火曜日のテスト」や時折「良い一日を!」などの便利なものもあります。私は親指を立てて喜んで返信することがほとんどですが、親指を下に置く必要がある場合もあります。 チャレンジ 今日のタスクは、メッセージに特定の意味があるかどうかを確認することです。肯定的な意味合いがある場合は、高く評価して返信してください。否定的な意味合いがある場合は、イマイチで返信してください。 意味合いを検出するにはどうすればよいですか? 肯定的な意味合いは、通常、3つの単語を含みます。3つの単語は、「幸せ」、「良い」、「合格」です。 否定的な意味合いも3になります。それら3:テスト、失敗、および宿題。 私は何をテストしていますか? メッセージにポジティブ、ネガティブ、または両方の意味合いが含まれているかどうかをテストしています。 メッセージに肯定的な意味合いが含まれている場合は、先に進み、Unicode コードポイントをグッド(U + 1F44D)に戻します。 否定的な意味がある場合は、低く評価するためのUnicodeコードポイント(U + 1F44E)を返します。 メッセージに否定的な意味と肯定的な意味の両方がある場合は、ニュートラルフェイス(U + 1F610)のコードポイントを返します。 他の何らかの理由で、どちらの意味もない場合は、すてきなol 'shrug(¯\ _(ツ)_ / _)を返します。肩をすくめが正しく表示されない場合、肩をすくめるへのEmojipediaリンクは次のとおりです 制約 プログラムはメッセージを入力として受け取る必要があります。 正の意味合いは、親指の親指のコードポイントを返す必要があります(U + 1F44D) 否定的な意味合いは、親指を下げたコードポイント(U + 1F44E)を返す必要があります。 メッセージに両方の意味がある場合は、ニュートラルフェイスコードポイント(U + 1F610)を返します。 メッセージにどちらの意味も含まれていない場合は、肩をすくめてください(¯\ _(ツ)_ /¯)。 これはコードゴルフで、最短バイトが勝ちます テストケース。 Input -> Output Happy Good Friday! -> U+1F44D Congrats, …

10
そのオーストラリアの州を拡大する
オーストラリアの州と準州は8つあり、それぞれ2文字または3文字の略語が使用されています。 ACT:オーストラリア首都特別地域 NSW:ニューサウスウェールズ州 NT:ノーザンテリトリー QLD:クイーンズランド SA:南オーストラリア TAS:タスマニア VIC:ビクトリア WA:西オーストラリア あなたの仕事は、大文字で有効なオーストラリアの州の省略形を取り、正しいフルネーム(上記のように大文字と小文字を区別する)を返す関数/プログラムを書くことです。 これはその言語のすべてのプログラムの避けられない副作用である単一の末尾の改行を除いて、余分な空白は許可されません。 例えば: f("TAS") => "Tasmania" 標準のコードゴルフ規則(バイト単位の最短コードが優先されます!)と抜け穴が適用されます。

30
入力と次に高い二乗の間の値の数
入力として正の平方数を指定します。入力と次に高い二乗の間の値の数を出力します。 例 入力:1 出力:2 理由:2と3は1と4の間で、次に大きい正方形 入力:4 出力:4 理由:5、6、7、8の数字は4から9の間です
9 code-golf  math 

6
目を見張る
楕円と棒として印刷されたバイナリ値を目撃することはそれほど簡単ではありません...そのためには、カスタムバイナリ表現で数値を出力する関数(またはプログラム)を記述する必要があります。 したがって、たとえば3(00000011)のような数値を受け取り、ビットをユーザー定義の形式で、たとえばスペースで区切られたペアで出力したいとします。 00 00 00 11 または、たとえば、逆の順序で、いくつかのデコレータを使用します。例: 11_00_00_00 さらに、 '0'と '1'をカスタム文字として表示して、それらをよりよく区別できるようにする必要があります。例: XX oo oo oo したがって、次の仕様ですべてを行うコードを作成することが課題です。 仕様 関数は次のような入力を受け取ります: f(A、mask、zeros、ones) パラメーター: A-入力数値-0から255の範囲の任意の(符号なし)整数。 mask-出力の構成を定義する文字列パラメーター。 zeros-同じ長さの文字列で、各出力スロットの「ゼロ」グリフを定義します。 ones-同じ長さの文字列で、出力スロットごとに「1」グリフを定義します。 出力構成のルール: 出力がどのように生成されるかを理解するには、例とともにこの画像をよく見てください。 したがって、マスクの1桁のみが解析され、Aの対応するビットに置き換えられます。他の文字はそのままです。さらに、取得したビットの値が1の場合、最終出力に「X」として表示され、0の場合、「o」として表示されます。上記の例では、取得した4つのビットはすべて「1」なので、すべてのスロットに「X」が表示されます。 入力数が128の場合、論理的には、出力はになりますX foo bar ooo。パラメータ「0」と「1」の文字:印刷可能なASCII文字。マスクと常に文字揃えされていると想定します。 注: ビットのインデックスは0です。0番目のビットはMSBです。 数字8、9はマスク文字列では許可されていないと仮定します。 入力文字列には、印刷可能なASCII文字が含まれます。 「ゼロ」と「1」はマスクに合わせて文字で整列されます。 あなたの言語の特殊文字/修飾子の場合:入力文字列に表示されないと想定できます。 明確にするために、他の例を参照してください。 入力->出力例 すべての8ビットをスペース区切り文字で共通の順序で、楕円と棒の一般的な表記で出力します。 mask = "0123 4567" zeros = "0000 0000" ones = …

4
アリスの序数書式
前書き Aliceは、Martin Enderによる2次元言語で、2つの異なる実行モード、cardinalとordinalがあります。命令ポインタがミラー(または)を通過すると、1つのモードから別のモードに切り替わります。/\ この課題では、コマンドが文字列を操作し、命令ポインターが斜めに移動して、コードの端に対して跳ねる序数モードに焦点を当てます。 通常モードでのみ動作する単純なプログラムは、次の例のように、非常にコンパクトなスタイルで記述できます。 /fbd/ @aec\ ここでIPは、最初のセルが東に行くから枢機卿モードで起動し、第1のミラーを透過し、斜めに移動し、バウンス、コマンドの実行を開始するa、bとc。それは、それは他のミラーに向けて南に行くと、その後、西に向けたバックをバウンスコマンドに遭遇した起動可能北東ミラーに遭遇したd、e、f、そして最後に@、プログラムを終了します。 この種の構造は非常にコンパクトですが、記述と保守が容易ではありません(単一のコマンドを追加すると、ほとんどのコードの順序を変更しなければならなくなる可能性があります)。書式設定を手伝ってください。 タスク コマンドのシーケンスがあり、各コマンドが単一の印刷可能なASCII文字である場合、シーケンスの前半が2行目の最初の文字から始まり、常に右に向かって斜めに移動できるように、コマンドを2行に並べ替えます。後半は残りの文字を右から左に読みながら読むことができます。ミラーと終了記号については心配しないでください。自分で追加します。 したがって、たとえば、入力abcdefを指定すると、出力する必要があります fbd aec 入力が奇数長の場合、遭遇するコマンドのシーケンスが同じままである限り、どこかに単一のスペース(Aliceでは何もしない)を追加する必要があります。また、長さが1文字だけ異なる2つの行を出力するように選択することもできます。その場合、短い方の行の終わりに1つのスペースがあると見なされます。 ルール これはcode-golfであり、バイト単位での最短の答えが勝ちます! デフォルトの入出力メソッドのいずれかを介して入出力できます 入力は、1行の印刷可能なASCII文字で構成されます 出力では単一の末尾改行が許可されます プログラムの一部の出力は、Aliceプログラムとして実行すると、完全に正しい動作にならない場合があります(たとえば、パディングスペースが文字列リテラル内に挿入されている場合)。あなたはこれらの状況に自分自身を心配する必要はありません 標準の抜け穴は禁止されています テストケース --Input abcdef --Output fbd aec --Input 123 --Output 2 13 OR 31 2 OR 3 12 OR 32 1 --Input O --Output O OR O --Input "Hello, …

13
独自の赤と黒を作成する
レミゼラブルの音楽的な演奏では、「赤と黒」と呼ばれる曲が登場します。ここにその曲の一部があります: 赤-怒れる男の血! ブラック-昔の暗闇! 赤-明け方の世界! ブラック-ついに終わる夜! ソース。 あなたの仕事は、入力を鳴り響く「赤と黒」の国歌にすることです。 入力 改行で区切られたテキスト、または同様の適切なテキスト入力。例えば、 The blood of angry men! The dark of ages past! A world about to dawn! The night that ends at last! 空の入力は未定義です(範囲外)。 出力 入力の長さ(行数、入力配列の長さなど)が奇数の場合、何も出力しないか、誤って出力します。あなたの提出物はエラーを出力しないか、正しい出力を出力しようとしないかもしれません。 それ以外の場合は、入力をRed / Black歌詞に変更します。行頭の大文字を小文字に変換します。Red奇数行の前にプラス区切り文字を追加し、偶数行の前にBlack(可視)区切り文字を追加します。区切り文字もスペースで囲む必要があるため、出力は混雑していないように見えます(そしてゴルフされていません;))。 これで出力が得られました。 テストケース 出力区切り文字は-です。 In: The blood of angry men! The dark of ages past! …

10
弦の回転対称性
ローテーションは、「文字列を2つに分割し、その順序を逆にすることによって行われます」。オブジェクトは、その操作を適用した後でオブジェクトが変更されていない場合、操作の下で対称的です。したがって、「回転対称性」とは、「回転」後も文字列が変化しないという事実です。 sからaまでの文字のみで構成される空でない文字z列を指定すると、文字列の回転対称性の最高次数が出力されます。 テストケース: input output a 1 abcd 1 abab 2 dfdfdfdfdfdf 6 これはコードゴルフです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

3
PPCGの未回答の質問
この親愛なるStackExchangeサイトには、非常に多くの課題と多くの良い答えがあります。しかし、答えられなかった課題についてはどうでしょうか? 仕事 PPCGから疑似ランダムオープンアンサー(正確にゼロ答えの質問など)チャレンジを表示するプログラムまたは関数を記述します。すべての可能な課題は同じ確率で生成されるべきです。 入力 入力は行われません。 出力 タイトル、タグ、および改行で区切られたリンクのみである必要があります。 タイトルは、挑戦中のとおりでなければなりません。 タグには厳密な出力形式はありませんが、すべてのタグを含める必要があります。 リンクquestion-nameには質問ID の後に含まれる場合と含まれない場合があり、チャレンジにつながる必要があります。 人間が読める形式に変換される場合とそうでない場合があります。 & に & 先頭と末尾の空白は許可されます。 例 Encode a steganographic encoder into a package code-challenge,unicode,steganography /codegolf/65159/encode-a-steganographic-encoder-into-a-package Simple predictive keyboard CG code-golf /codegolf/76196/simple-predictive-keyboard-cg 得点 これはcode-golfなので、バイト単位の最短の回答が優先されます。

6
与えられたツリーがそのプリュファーコードを生成する
では、グラフ理論Prüferコードは、特定のツリーを示し整数のユニークなシーケンスです。 ウィキペディアから取得した次のアルゴリズムを使用して、ツリーのPrüferコードを見つけることができます。 頂点を持つラベル付きツリーTを考え{1, 2, ..., n}ます。ステップiで、最小のラベルを持つ葉を削除し、Prüferシーケンスのi番目の要素をこの葉の近傍のラベルに設定します。 (これは葉なので、隣人は1つだけであることに注意してください)。 グラフに頂点が2つだけ残っている場合は、反復を停止する必要があります。 仕事 ラベル付きツリーを入力出力として指定すると、そのプリュファーコード。合理的な方法で入力することができます。隣接行列や言語の組み込みグラフ表現など。(入力をPrüferコードとして受け取ることはできません)。 これはコードゴルフなので、ソースのバイト数を最小限にすることを目指してください。 テストケース 以下は、ASCIIの入力とその出力です。このようなASCII入力をサポートする必要はありません。 3 | 1---2---4---6 | 5 {2,2,2,4} 1---4---3 | 5---2---6---7 | 8 {4,4,2,6,2,5} 5---1---4 6 | | 2---7---3 {1,1,2,7,3}

5
最も忙しい時間を決定する
この課題は、このStack Overflowの投稿から大きく影響を受けました。 チャレンジ 部屋に入るときと部屋から出るときの点で多数のクライアントを想定して、部屋に最大人数の時間帯を決定します。時間分解能は分単位にする必要があります。 3つのクライアントが存在する場合、例えば8 - 10、9 - 11、10 - 12、正しい答えは次のようになります9 - 11。この期間中、部屋には2人のクライアントがいます。 入力 入力は、何らかの形式のペアのリストになります。これは、2タプルのリスト、要素がインターリーブされた偶数長のリストなど、適切な入力形式のいずれかです。時間は、12時間または24時間のいずれかの形式で指定できます。午前0時からの分数として時間を入力することもできます。 出力 出力は何らかの形式のペアのリストである必要がありますが、出力はより厳密です。出力はフラットリストにすることはできません。2タプルのリストまたはリストのリストなどにする必要があります。時刻は、12時間または24時間のいずれかの適切な形式で出力できます。午前0時からの分数として時間を出力することもできます。 例 input output INPUT 08:00 - 10:00 09:00 - 11:00 10:00 - 12:00 OUTPUT 09:00 - 11:00 INPUT 08:20 - 09:20 09:00 - 09:10 08:00 - 09:30 08:50 - 10:40 OUTPUT 09:00 - …
9 code-golf  date 

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