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

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

30
アルファベットの雨を作る
アルファベットの雨 タスク: 基本的な前提は、入力文字列を出力し、(大文字と小文字を区別しない)アルファベットの(0から始まる)位置に基づいて各文字を垂直に繰り返すことA-Zです。A位置0にあるので繰り返されないe、位置4にあるので4回繰り返されるP、位置15にあるので15回繰り返される、!存在しないA-Zので0回繰り返される、など わかりやすくするために、範囲外のB-Zb-z数字や特殊文字などは繰り返されないため、最初の行にのみ表示されます。 これはcode-golfであるため、各言語で最も短いソリューションが勝者です。 入力: 入力は、32 から126までの標準の印刷可能なASCII文字セットになり~ます。 入力文字列は1文字以上です。 先頭または末尾の空白はありません。 あなたは、文字列(として入力を取る取ることができます"hello"()または文字のリスト["h", "e", "l", "l", "o"]) 例: の入力aaaa: aaaa の入力abcda: abcda bcd cd d の入力は以下Programming Puzzles & Code Golf!を与えます: Programming Puzzles & Code Golf! Progr mming Puzzles Code Golf Progr mming Puzzles Code Golf Progr mming Puzzles ode Golf Progr mming …

17
掃海艇の手がかりを記入する
マインスイーパは人気のパズルゲームで、どのタイルが「地雷」であるかを、それらのタイルをクリックせずに発見する必要があります。各タイルは地雷(で表される*)または手掛かり、つまり8つの隣接するタイルのうちどれだけが地雷であるかを表す0から8までの数字です。今日のあなたの仕事は、鉱山を含むボードを取り、すべての手がかりを埋めることです。たとえば、5つの地雷がある次の5x4ボードを見てください。 * * * * * 手がかりを入力すると、ボードは次のようになります。 2*211 *33*1 12*32 0112* 詳細 完全なプログラム、またはスペースとアスタリスクのみを含む文字のグリッドを取り込み、各スペースが隣接する鉱山(アスタリスク)の数で置き換えられる別のグリッドを出力する関数を作成する必要があります。これらはいずれも、グリッドに受け入れられる形式です。 改行を含む文字列 文字/単一文字列の2Dリスト 文字列のリスト グリッドは少なくとも 1x1であると仮定できますが、グリッドはすべて地雷またはすべてのスペースである可能性があります。 入力グリッドには常に適切な数のスペースが埋め込まれます。いつものように、これはcode-golfなので、標準の抜け穴が適用され、バイト単位の最短回答が勝ちます! サンプルIO 空白を確認できるように、すべてのサンプルIOを角括弧で囲んで示します。 Input: [ * ] [* ] [ ] [ ] [ ** ] [ * * ] Output: [1101*1] [*10111] [110000] [012210] [12**21] [1*33*1] Input: [****] [****] Output: [****] …

22
デニス番号2.0
PPCGユーザーでありmodに選ばれた@Dennisは、10万人以上の担当者を獲得した2番目のユーザーになりました! これは完全に独創的なアイデアであり、私は他の誰からも得たものではありませんが12012、トリビュートとして彼のユーザーIDに基づいて挑戦してみましょう! それを見ると、彼のIDには2つの異なる「セクション」があることがわかります。 12 そして 012 これらのセクションは両方とも3になります。これは非常に興味深いプロパティです。 「デニス2.0の数値」を、厳密に増加する数字のすべての最大サブシーケンスが同じ数値に合計される正の整数として定義してみましょう。例えば、 123 厳密に増加する数字の最大サブリストが1つしかないため、デニス2.0の数字であり、合計は6です。さらに、増加する数字の3つの最大サブリスト、つまり 28 46 145 すべての合計が10。また、ちょうど同じ数字を繰り返し番号がしなければならない、例えばのでデニス2.0数字なり777に分けることができます 7 7 7 これは明らかに 7へのすべての合計。 などの数字は、デニス2.0の数字で42はありません。 4 2 これは明らかに同じ数になりません。 挑戦 特定の番号がデニス2.0番号であるかどうかを判断するプログラムまたは関数を作成する必要があります。文字列、数値、ファイル、関数引数/戻り値、STDIN / STDOUTなどから、合理的な入力形式で入出力を行い、この数値がDennis 2.0である場合に真理値を返すことができます。数、および偽の値(そうでない場合)。参考までに、最大1,000までのすべてのDennis 2.0番号を以下に示します。 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 22 23 24 …

30
YYYYMMからMMMYYに変換
このSO質問に基づいて。 チャレンジはかなり単純YYYYMMですMMMYY。フォーマットで日付期間を指定すると、フォーマットで出力します。 ルール: 入力は、数字または数字のみで構成される正確に6文字の文字列になります。 最後の2桁がの間になります01と12。 出力は、月の大文字の3文字コード(下)を表し、入力の一部の最後の2桁を表す形式MMMYYでなければなりません。MMMYYYYYY 対応するコードを含む月のリスト: MM MMM 01 JAN 02 FEB 03 MAR 04 APR 05 MAY 06 JUN 07 JUL 08 AUG 09 SEP 10 OCT 11 NOV 12 DEC 例: Input Output 201604 APR16 200001 JAN00 000112 DEC01 123405 MAY34
54 code-golf  string  date 

10
囲まれた国
国は1Dの世界で一連の領域を所有しています。各国は番号によって一意に識別されます。テリトリーの所有権は、次のリストで表すことができます。 1 1 2 2 1 3 3 2 4 国の最端の領土を、どちらかの端に最も近い2つの領土と定義します。上記のリストのインデックスがゼロであった場合、国1の最端部の地域は0およびで発生し4ます ある国は、その最端の2つのテリトリー間のサブリストに別の国のすべてのテリトリーが含まれている場合、別の国を囲みます。上記の例では、国2の最端地域間のサブリストは次のとおりです。 2 2 1 3 3 2 そして、国のすべての領土は国3の最端の領土の間にある2ので、国は国を2囲みます3。 要素が1つだけの国は、別の要素を囲むことはありません。 チャレンジ (任意の形式で)入力および出力として整数のリストを取るtruthyどの国が他に囲まれている場合は、値を、そしてfalsyそうでない場合、値。 入力リストは空ではなく、正の整数のみを含み、数字を「スキップ」しないと仮定でき1 2 1 5ます。たとえば、無効な入力になります。 テストケース +----------------------+--------+ | Input | Output | +----------------------+--------+ | 1 | False | | 2 1 3 2 | True | | 2 1 …

27
Wordenticonsを生成する
識別子はハッシュ値の視覚的な描写であり、多くの場合、幾何学的形状の対称的な配置から作成されます。デフォルトのStack Exchangeアバターはidenticonです。この課題は、「wordenticons」、小文字の文字列、つまり単語に適用されるIDベースの単純なテキストベースのバージョンを作成することです。 チャレンジ 文字列Sを取り込んでその単語を出力するプログラムまたは関数を作成します。Sは空でないことが保証され、小文字の英字a〜zのみが含まれます。オプションで、Sの末尾に改行があると想定できます。 Sのwordenticonは2*length(S)、スペース( )、垂直バー(|)、および水平バー(―)で構成される辺の長さのテキストの正方形グリッドです。 Sの単語を生成するには、すべての列がSの文字(通常の左から右の読み取り順序)に対応し、すべての行がSの文字に対応する(通常の上下の読み取り順序の正方形グリッドを形成します)。 たとえば、Sがfood初期グリッドの場合、次のようになります food f.... o.... o.... d.... どこ.単なるプレースホルダです。 .グリッド内のすべての空のポイント(すべて)に対して: 列文字がアルファベット順に行文字の前に来た場合は、交換してください.と|。 列文字がアルファベット順に行の文字の後に来る場合は、交換してください.と―。 列と行の文字が同じ場合は.、 (スペース)で置き換えます。 foodこれらの各ステップの後の例を次に示します。 の追加|: food f...| o|..| o|..| d.... の追加―: food f.――| o|..| o|..| d―――. の追加 : food f ――| o| | o| | d――― wordenticonを完了するには、単語を含む余分な行と列を削除します ――| | | | | ――― 全体を水平にミラーリングします …

8
これは一言ですか?
入力として4文字の文字列を取り、その文字列が英語の単語かどうかを示す値を出力するプログラムまたは関数を作成する必要があります。提供されたテストケースの15%で間違いを犯すことができます。 入力の詳細: 入力は、小文字の英字(az)のみを含む4文字のストリングです。 出力の詳細: 入力が英語の単語である場合、ブール値trueまたは整数を出力する必要があります1。 入力が英語の単語でない場合は、ブール値falseまたは整数を出力する必要があります0。 単語リスト 4文字の英語の単語のリスト(2236単語) 4文字の非単語文字列のリスト(2236文字列) 非単語リストには、実際の単語が削除された、一様にランダムに生成された文字シーケンスが含まれます。 テスト中 プログラムまたは関数は、指定された単語リストで15%以内の間違いを犯してはなりません。つまり、提供された4472の入力のうち670に対して間違った出力を与える可能性があります。 他の人が答えを確認できるように、テストプログラムまたは機能も投稿する必要があります。テストプログラムの長さは、提出スコアにカウントされません。 標準の抜け穴は許可されていません。 あなたのプログラムは、ウェブへのアクセスやファイルからの読み取りなど、外部ソースを使用しないでください。 これはコードゴルフなので、最短のプログラムまたは機能が優先されます。

30
Nボナッチ数列を出力します
これはあまり広く知られていませんが、フィボナッチ数列、別名 1, 1, 2, 3, 5, 8, 13, 21, 34... 実際にはDuonacciシーケンスと呼ばれます。これは、次の番号を取得するには、前の2つの番号を合計するためです。トリボナッチ数列もあり、 1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201... 次の数字は前の3つの数字の合計だからです。そして、Quadronacciシーケンス 1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673... そして、みんなのお気に入り、ペンタナッチシーケンス: 1, 1, 1, 1, 1, 5, 9, 17, 33, 65, …

30
迷信的なホテルのエレベーター
説明 上海にある非常に迷信的なホテルエレベーターを次に示します。 13は西側世界では不運であるため13を避け、4はアジアの一部で不運であるため4を避けます。このホテルが高かった場合はどうなりますか? nフロアの数を表す正の偶数整数をSTDINから読み取り、STDOUTにボタンレイアウトがどのように見えるかを出力します。13に等しくなく、数字4を含まない-1次のn-1正の整数が続きます。上の画像のような2列の数字:水平タブで区切られた行ごとに2つのフロア番号を印刷し、左から右に逆の順序で行を読み取ると、昇順でシーケンスが生成されるようにします。(オプションで、末尾の改行文字も印刷できます。) テストケース 入力の14場合、出力は上の画像のようになります。 15 16 11 12 9 10 7 8 5 6 2 3 -1 1 ここで、各行の空白は単一の水平タブ文字です。 入力については2、印刷する必要があります-1 1。 入力については100、次を印刷する必要があります。 120 121 118 119 116 117 113 115 111 112 109 110 107 108 105 106 102 103 100 101 98 99 96 97 93 95 …

30
スコアを出力してください!
チャレンジ: コンセプトは非常に単純です:独自のコードゴルフスコアを出力する完全なプログラムを作成してください! 出力は、プログラムのバイトカウントと末尾の bytes。 しかし、待機 ..... 1つの制限があります。 ソースコードにバイトカウントの数字を含めることはできません あなたのスコアがあるのであれば186 bytes、あなたのプログラムは、文字を含めることはできません1、6または8 出力例: 315 bytes 27 Bytes 49 BYTES 追加のルール: 不要な文字、スペース、改行はソースコードで禁止されていますが、出力では末尾のスペースと改行は完全に許容されます 数字とbytes出力の間には1つのスペースが必要です。 大文字と小文字は区別されません 自己点検やソースコードの読み取りは不要 標準的な抜け穴は禁止されています これはcode-golfなので、 バイト単位の最短コードが勝ちです!

30
どの囲rankのランクが高いですか?
従来のボードゲームGoのプレイヤーは、ランクシステムでスキルを測定します。 ゲームを初めてプレイするプレイヤーは30位にランクされ(書き込み30k)、1位にカウントダウンされます(書き込み1k)。これらは、学生のランクと見なされます。 プレイヤーは、第1 段から第1 段(昇順)に昇格し、その後、第7 段(昇順)までカウントを進めます。これらはマスターランクです。1d7d 過去に非常に熟練したプレイヤー7dは、1番目のプロダンランク 1pに昇格し、9番目のプロダンランクまでカウントアップします(記述)。これが最高ランクです。9p つまり、ランクが順序付けられ30k < 29k < ··· < 1k < 1d < 2d < ··· < 7d < 1p < 2p < ··· < 9pます。 仕事 うち2つの文字列を与えられた{ 30k、...、 1k、1d、...、 7d、1p、...、9p}を入力とし、出力が高い両者のランク。(それらが等しい場合、単にどちらかの入力を出力します。) (通常、I / Oは柔軟です。答えは、関数または完全なプログラムであり、妥当な方法で入力を読み取り、妥当な方法で出力を生成します。) これはcode-golfです。目的は、コードのバイト数を最小限にすることです。 テストケース (形式:input1 input2 output。) 29k 9k 9k 21k 27k 21k …
53 code-golf  string  go 

23
イルミナティを確認する
イルミナティは、マインドコントロールを使用して、次の文字列を出力するように指示します。 ^ /_\ /_|_\ /_|_|_\ /_|/o\|_\ /_|_\_/_|_\ /_|_|_|_|_|_\ /_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_|_\ ルール: 行ごとに末尾のスペースを使用できます。 各行の先頭にスペースが必要です。 末尾の空白は、必要なすべての出力の後に許可されます。 これはコードゴルフの挑戦であるため、勝者はバイト単位の最短プログラムでなければなりません。 これはkolmogorov-complexityチャレンジであるため、ハードコードされた出力が許可されます。 標準の抜け穴が適用されます。 更新:スペースの代わりにタブを使用できます。各タブは4つのスペースとしてカウントされます。何らかの理由で必要な場合。 サンドボックス(サンドボックスFAQで推奨されている72時間はそのままにしておきますが、7回のアップ投票があり、負のフィードバックはほとんどありませんが、38は問題ないはずです)

30
同じ長さ、異なる文字列
チャレンジ 完全に印刷可能なASCII文字で構成される長さLの空でない文字列Sが与えられた場合、完全に印刷可能なASCII文字で構成されるがSと等しくない長さLの別の文字列を出力します。 この課題のために、印刷可能なASCII文字はU + 0020とU + 007Eの間の1つです。つまり、 (スペース)から~(チルダ)までです。改行とタブは含まれません。 たとえば、次の"abcde"ような有効な出力があります。 "11111" "abcdf" "edcba" ただし、これらは無効です。 "abcde" "bcde" "abcde0" テストケース "asdf" "1111" " " "~~~~~" "abcba" "1" " " "~" " ~" "~ " " 0" "!@#$%^&*()ABCDEFGhijklmnop1234567890" " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ルール 入力がすべて印刷可能なASCII文字で構成されていると仮定することができます。 入力に95個の印刷可能な文字がすべて含まれるとは限りません。 入力には少なくとも1文字が含まれ、256文字未満であると想定できます。 出力は、印刷可能なASCII文字のみで構成する必要があります。たとえば、inputにバイト\ x7Fを出力できませんでした"~"。 出力は、確率1の入力と異なる必要があります。つまり、入力とは異なるものになるまでランダムな文字列を生成できますが、L個のランダムな文字を出力することはできません。 出力では改行は使用できませんが、文字列にはカウントされない末尾の改行を1つ出力できます。 得点 これはcode-golfであるため、各言語のバイト単位の最短コードが優先されます。
53 code-golf  string 

30
任意の長さのカレー
機能、書くf正の整数に取り、関数を返します、。 返される新しい関数はと同一である必要がありますf。ただし、「終了呼び出し」が発生した場合、f代わりに渡されたすべての整数の合計を返す必要があります。 たとえば、g=f(4)(f最初の関数の場合)g別の関数に設定する必要があります。h=g(3)同じことをします。ただし、h引数なしで呼び出した場合(詳細については以下を参照)、7を出力する必要があります。これは前の関数引数の合計であるためです。別の言い方をすればf(3)(4)() == 7。 これはと同じではないことに注意してくださいf(3,4)()。 「終了コール」は、次のオプションのいずれかです(選択)。 引数なしで呼び出す 引数としてnull 非正の値 任意の量の関数呼び出しをサポートする必要があります。事前に定義された制限はありません。 合計が1'000を超えないことが保証されています。 「終了呼び出し」の前に少なくとも1つの呼び出しが行われていると想定できます。 コードでは静的なプログラムごとの変数を使用しないでください。そのため、同じランタイムで実験を複数回実行し、まったく同じ動作を観察できるようにする必要があります。 例: f(1)() == 1 f(4)(2)(7)() == 13 f(4)(2)(7)(5)(2)() == 20

26
大文字と小文字を区別する(非常に)敏感な文字列を解読する
ゴール これは簡単な挑戦です。あなたの目標は、各文字を同じケースの次の文字と交換し、文字以外の文字を変更せずに文字列を解読することです。 ステップごとの説明 最初の文字はEです。大文字の次の文字を探します:a Cです。これらの文字を交換すると、につながりCdoE!ます。 次の文字に進みdます。これはです。次の文字を小文字で探します:それはoです。これらの文字を交換すると、につながりCodE!ます。 次のキャラクターに進みます。これはdここで移動したものです。既に処理されているため、無視します。 次のキャラクターに進みます。これは、Eステップ1でここに移動したものです。既に処理されているため、無視します。 次の文字に進み!ます。これはです。手紙ではないので無視します。 ルール 入力文字列は、32〜126の範囲の印刷可能なASCII文字のみで構成されていると想定できます。 完全なプログラムまたは関数を作成して、結果を出力または返すことができます。 入力文字列に奇数個の文字が含まれている場合、最後の残りの文字を別の文字と交換することはできません。文字列に含まれる文字数が偶数で、大文字と小文字が奇数である場合、同じロジックが適用されます。 これはコードゴルフなので、バイト単位の最短回答が勝ちです。標準的な抜け穴は禁止されています。 テストケース Input : lLEhW OroLd! Output: hELlO WorLd! Input : rpGOZmaimgn uplRzse naC DEoO LdGf Output: prOGRamming puzZles anD COdE GoLf Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg Output: tHe quICK BROWN …
53 code-golf  string 

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