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

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

9
ブダペスト
課題は簡単です。有限の非負整数が与えられると、ネストされた配列を出力するプログラムまたは関数を作成します。 ルール コードは、整数0 ‌≤ n ‌ <2 31 ごとに一意の有効なネストされた配列を生成する必要があります。 最大16個のオープンブラケットを持つネストされた配列はすべて、この範囲内で出力する必要があります。(これは、コードが16個を超える開き括弧を持つネストされた配列を出力できないことを意味するものではありません。) コードは、実際の配列(コンマの有無にかかわらず)の代わりに、ネストされた配列の文字列表現を出力する場合があります。 1つの可能なマッピング: 0 -> [] 1 -> [[]] 2 -> [[[]]] 3 -> [[], []] 4 -> [[[[]]]] 5 -> [[[], []]] 6 -> [[[]], []] 7 -> [[], [[]]] 8 -> [[], [], []] 9 -> [[[[[]]]]] etc. 得点 …

30
こんにちは
仕事 おそらく無限のテキストストリームまたはファイルを読み込み、hello次のルールに従って、単語が出力されるまでその内容を出力します。 いったんhello出力された、あなたのコードはすぐに終了する必要があります。たとえば、改行を待つべきではありません。 コードはそのまま出力されるはずです。つまり、大量の入力を読み取ってから出力を開始するべきではありません。 ストリーム/ファイルにが含まれていない場合hello、コードは入力を永久に、またはストリーム/ファイルの終わりに達するまで出力し続ける必要があります。 これは大文字と小文字が区別されるため、helloと等しくありませんHello。 入力は、印刷可能なASCII文字と改行のみで構成されていると想定できます。 コードでは、テキストが改行で終了することや、入力に改行が含まれることを期待できません。また、コードは、メモリが無限にあるマシンで実行されると想定することはできません。 あなたのコードは空のディレクトリから呼び出されると仮定するかもしれません。 入力ストリームの例 I once had a horse called hellopina. 出力 I once had a horse called hello 先端 実行yes | tr -d \\n | <your program>して、無限ストリームで機能するかどうかを確認します。何も出力しない場合やメモリがリークする場合、プログラムは仕様に準拠していません。yyyyyyyyyyyyyyyyyyyyyy...改行なしで永久に印刷されるはずです。
30 code-golf  string 

5
整数、アセンブル!
あなたの仕事は、1toからN(入力として与えられた)整数を(入力としても与えられた)幅Wと高さの長方形に組み立てることHです。個々の番号は90度の倍数で回転できますが、長方形内では連続したブロックとして表示される必要があります。つまり、数字の1つを複数の数字に分割して、数字を個別に長方形に配置することはできません。また、角の周りに数字の3桁を曲げることもできません。それぞれの数字は、壁を構築するレンガと考えることができます。 以下に例を示します。入力がであるとし(N, W, H) = (12, 5, 3)ます。1つの可能な解決策は次のとおりです。 18627 21901 53114 わかりやすくするために、このグリッドの2つのコピーを示します。1桁の数字が非表示になっているものと、2桁の数字が非表示になっているものです。 1#### #8627 2##01 #19## ##11# 53##4 長方形を独自の方法で再び分解できない場合は問題ありません。たとえば、上記の例では、12も次のように配置できます。 ##### 18627 21#01 ##9## ##11# 53##4 ルール これNは正でありW*H、整数から1までの整数の桁数と一致Nし、指定された数値への長方形のタイルが存在すると仮定できます。私は現在、これが常に可能であるかどうかの証拠を持っていませんが、もしあなたがそうするならば、私はそれに興味があります。 出力は、単一の改行で区切られた文字列または文字列のリスト(各行に1つ)、または1桁の整数のリストのリスト(各セルに1つ)のいずれかです。 提出の結果は確定的である必要があり、合理的なデスクトップマシンで1分以内にすべてのテストケースを処理できる必要があります。 プログラムまたは関数を記述し、入力を受け取り、出力を提供する当社の標準的な方法のいずれかを使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース 最初のものを除いて、これらのどれもユニークではありません。各テストケースのN W H後に、可能な出力が続きます。長方形が狭すぎて大きな数字を水平に書き込むことができない場合に、答えが機能することを確認してください。 1 1 1 1 6 6 1 536142 6 2 3 16 25 34 …

30
チャーリー、オスカー、デルタ、エコー
無線通信の大部分はNATO Phonetic Alphabetです。これは、通信で文字を理解しやすくするために文字を単語としてエンコードします。あなたがそれを受け入れたいなら、あなたの仕事はそれらを一つずつ印刷することです。 この正確な文字列を標準出力に出力する必要があります。 A: Alfa B: Bravo C: Charlie D: Delta E: Echo F: Foxtrot G: Golf H: Hotel I: India J: Juliet K: Kilo L: Lima M: Mike N: November O: Oscar P: Papa Q: Quebec R: Romeo S: Sierra T: Tango U: Uniform V: Victor W: Whiskey …

13
North by North by North by South East
N、S、E、Wの文字列が与えられた場合、方位(北から時計回りの角度、度単位)を出力し、小数点以下5桁に修正します。 従来のコンパス表記、文字列は、わずか2(NNWまたはESEのような)これらの文字で構成されています。ここでは、4つすべてを含む文字列(WNNNSEなど)も受け入れる必要があります。2つのシンボルのみを使用すると、人間が意味を直感的に理解できます。4つのシンボルを許可すると読みにくくなりますが、指定された精度で方位を記述するより短い方法が許可されます。 ASはで指摘(コメントによってuser2357112、それはあなたが、私は偽の前提にこの課題に基づきまして、任意のベアリングのために、4記号列は、2記号列とまったく同じ長さになることを証明することができ判明します。この実用的な目的の欠如が、チャレンジの楽しみを損なうことはないことを願っています...) 正確な方法を以下に説明し、従来の表記法と同等です(変更するのではなく、拡張します)。 入力 入力は、文字のみを含む単一の文字列NESWです。 必要に応じて、入力に文字のシーケンスを使用できますが、これには前処理が含まれていません。たとえば、ネストされたリスト[N, [E, [S, [W]]]]を使用して処理の順序を支援することは許可されていません。 異なるキャラクターを使用することは許可されていません。の1234代わりにの文字列を使用することはできませんNESW。 出力 出力は、10進数または1のストリング表現でなければなりません(有理数/分数ではありません)。 末尾のゼロを表示する必要はありません。方位がの場合、9.00000出力9は小数点以下5桁まで正しいものとしてカウントされます。 出力の範囲は[0、360)です。つまり、0を含むが360は除外されます。 出力が小数点以下5桁に丸められることにより、正当性がチェックされます。ベアリングが0.000005の場合、これは0.00001に丸められます。出力0.00001と0.000005は両方とも正しいです。 一部の入力については科学表記法での出力が許容されます。たとえば、の1e-5代わりに0.00001。 変換 単一文字コンパスポイントN、E、S、及びW対応する0°、90°、180°、及び270°夫々 。 これらのいずれかを文字列の前に付けると、単一文字の方位と元の文字列の方位を二分する方位になります。 NEが225度ではなく45度を表すように、2つの可能な二等分軸受のうち最も近いものが選択されます。 これは、二分される角度が180度である場合を除いて明確です。したがってNS、SN、WE、及びEW不定ベアリングに対応し、入力は、これらのいずれかで終わることはありません。ただし、これらはあいまいさを引き起こさないため、入力文字列の他の場所に表示される場合があります。 最後の2つの文字が同一である場合、2分割が同じ方位を返すため、最後の文字は冗長になります。これは表記に何も追加しないため、コードでこれを処理する必要はありません。したがってNN、EE、SS、及びWW不定ベアリングに対応し、入力は、これらのいずれかで終わることはありません。ただし、入力文字列の他の場所に表示される場合があります。 例 N: 0 E: 90 S: 180 SE: halfway between S and E: 135 NSE: halfway between N and SE: 67.5 NNSE: halfway between N and …
30 code-golf 

29
インターリーブ文字列
インスピレーション。*私たちが以前にこの課題に直面したことはないと信じられません 仕事 1つ以上の印刷可能なASCII文字列が与えられた場合、各文字列から1文字ずつ、文字がなくなるまで周期的にインターリーブします。文字列が他の文字より前に文字を使い果たした場合、それ以降はその文字をスキップします。 例 SIMPLE 与える SIMPLE POLLSそしてEPEES与えるPEOPLELESS LYESそしてAPRONS与えるLAYPERSONS ABCDEそしてa cそして123 567与えるAa1B 2Cc3D E567 "\n$?*そして​(空の文字列)と,(.)" (末尾のスペース)は",\(n.$)?"* (末尾のスペース)を与える *より短いAPLソリューションがあります。

14
ミラーはどこに置けばいいですか?
これはミラーです|。文字列をミラーリングできる場合、文字列の中央にミラーを貼り付けることができることがわかりました!たとえば、文字列abccba。半分にカットすると、2つの半分は互いに鏡像になります。 abc <--> cba したがって、文字列の中央にミラーを貼り付けることができ、新しい文字列はabc|cbaです。場合によっては、文字列の一部のみをミラーリングできます。たとえば、文字列「mirror」。2つのrはミラーリングされていますが、残りのストリングはミラーリングされていません。大丈夫です。互いにミラーリングしない文字列の部分を削除するだけで、次の文字列が取得されます。 r|r 一部の文字列は、複数の場所でミラー化できます。たとえば、「He​​llo World、xyzzyx」。鏡にたくさんのテキストが映るのが好きなので、鏡を置くのに最適な場所を見つける必要があります。この場合、より長いミラーリングされた文字列を出力し、最後の例と同様に、他のすべてを削除する必要があります。この文字列は次のようになります。 xyz|zyx 一部の文字列はミラーリングできるように見えますが、実際にはミラーリングできません。文字列をどこにもミラーリングできない場合は、何も出力しないでください。 チャレンジ: printable-asciiのみを含む文字列が与えられた場合、ミラーを配置するのに最適な場所を見つけます。言い換えると、 最大の偶数長のパリンドローム部分文字列を見つけて、パイプ文字「|」で出力します 途中で。 入力の長さは1〜50文字です。 入力にミラー|や改行は含まれないと想定できます。それを超えて、すべての印刷可能なアスキー文字は公正なゲームです。ミラーリングされた最長のサブストリングが2つのサブストリングの間にある場合、出力するサブストリングを選択できます。たとえば、文字列「abba ollo」の場合、「ab | ba」または「ol | lo」を出力する必要がありますが、どちらを出力してもかまいません。文字列は、大文字と小文字が区別され例えば「ABBA」すべきでない出力は空の文字列|「BA AB」、それが出力する必要があり。 サンプルIO: "Hello World" --> "l|l" "Programming Puzzles and Code-Golf" --> Either "m|m" or "z|z" "abcba" --> "" "Hulluh" --> "ul|lu" "abcdefggfedcba" --> "abcdefg|gfedcba" "abcdefggfabc" --> "fg|gf" "AbbA" --> …

22
Stern-Brocotシーケンスに従ってn番目の有理数を出力します
スターン- Brocot配列は Fibonnaci様配列次のように構成することが可能です。 シーケンスを初期化する s(1) = s(2) = 1 カウンターを設定 n = 1 s(n) + s(n+1)シーケンスに追加する s(n+1)シーケンスに追加する インクリメントn、ステップ3に戻る これは次と同等です: 他のプロパティの中でも、Stern-Brocotシーケンスを使用して、可能なすべての正の有理数を生成できます。すべての有理数は一度だけ生成され、常に最も単純な用語で表示されます。たとえば、1/3シーケンスの第四有理数、同等の数字である2/6、3/9などがまったく表示されません。 上記のように、n番目の有理数をとして定義できますr(n) = s(n) / s(n+1)。ここでs(n)は、n番目のStern-Brocot数です。 あなたの課題は、Stern-Brocotシーケンスを使用して生成されたn番目の有理数を出力するプログラムまたは関数を作成することです。 上記のアルゴリズムは1から始まります。エントリのインデックスが0の場合は、回答に記載してください 説明されているアルゴリズムは説明のみを目的としており、出力は任意の方法で導出できます(ハードコーディング以外) 入力は、STDIN、関数パラメーター、またはその他の妥当な入力メカニズムを介して行うことができます Ouptutは、STDOUT、コンソール、関数の戻り値、またはその他の妥当な出力ストリームになります。 出力はの形式の文字列である必要がありますa/b。ここでaおよびbは、Stern-Brocotシーケンスの関連エントリです。出力前に端数を評価することはできません。たとえば、入力の12場合、出力はで2/5はなくである必要があり0.4ます。 標準の抜け穴は許可されていません これはcode-golfなので、バイト単位の最短回答が勝ちます。 テストケース ここでのテストケースは1から始まります。 n r(n) -- ------ 1 1/1 2 1/2 3 2/1 4 1/3 5 3/2 6 …

20
難解なコードからコメントを解析する
今週初め、私たちはどのように 、コメント用に難解な言語フォーマット。今日は、その逆を行います。よくコメントされた難解なコードを解析し、コメントを解析して、コードだけを返すプログラムまたは関数を作成する必要があります。前の課題からのいくつかの例を使用して、ここによくコメントされたコードがどのように見えるかを示します: a #Explanation of what 'a' does bc #Bc d #d e #Explanation of e fgh #foobar ij #hello world k #etc. l #so on mn #and op #so forth コードを抽出するために必要なことは次のとおりです。最初に、コメント文字(#)、その前のスペース、およびコメント文字の後のすべてをます。 a bc d e fgh ij k l mn op 次に、各行を上に折り畳んで単一の行にします。たとえばb、2行目の2列目にあるため、折りたたむと、1行目の2列目になります。同様に、c1行目の3列目に配置され、dに配置され、4行目に配置されます。すべてのキャラクターについてこれを繰り返して、これを取得します: abcdefghijklmnop 重要な注意:コメントを削除し、すべてのスペースを削除し、すべての行を結合することが簡単な解決策のようです。これは有効なアプローチではありません!元のコードにはスペースが含まれている可能性があるため、このアプローチではスペースが削除されます。たとえば、これは完全に有効な入力です。 hello #Line one #Line two …

30
横方向プログラムによる波動粒子双対性
空でない単一行の文字列を取り込むプログラムまたは関数を作成します。文字列は、ゼロまたはそれ以上のスペースが一の周期(続くであろう粒子のような).又は .、あるいは文字列が前方に交互に一つ以上のシーケンスとバックスラッシュ(あろう波いずれかで開始することができる)、そのような\または/\/または\/\/\/\/\/\/。 どちらの場合でも、粒子/波を1単位だけ右に伝播します。 具体的には、パーティクルの場合、の前にスペースを挿入し、.1つ右に移動して、結果の文字列を出力します。例えば: .→ . .→ . .→ . .→ . .→ . .→ . .→ . .→ . ウェーブの場合、ウェーブが交互になり、長さが1ずつ増加するように、いずれか/または\適切に追加して、結果のストリングを出力します。例えば: /→ /\ \→ \/ /\→ /\/ \/→ \/\ /\/→ /\/\ \/\→ \/\/ /\/\→ /\/\/ \/\/→\/\/\ どちらの場合でも、出力には末尾のスペースは含まれませんが、オプションの末尾の改行が許可されます。 バイト単位の最短コードが優先されます。

29
嫌い/愛の難問
チャレンジの説明 この課題では、我々は唯一の考慮loveやhate感情など。秩序の感情表現を発したい場合はN、次の2つを交互に使用します(で始まりますhate)。 order | expression 1 I hate it. 2 I hate that I love it. 3 I hate that I love that I hate it. 4 I hate that I love that I hate that I love it. パターンは、すべての正の整数に対して続きますN。与えられたN、秩序の対応感表現を出力してくださいN。 ノート .式の最後の完全停止()は必須です。 末尾および先頭の空白(改行を含む)は許可されますが、 非正または非整数の出力Nは未定義であり、 これはコードとゴルフの課題なので、コードをできるだけ短くしてください。
30 code-golf  string 

16
qwertyキーボードの単一行を使用した最長単語
qwertyキーボードの3行はqwertyuiop、asdfghjklとzxcvbnmです。あなたの仕事は、与えられた単語のリストから、キーボードの1行だけを使用して入力できる最も長い単語を見つけることです。 サンプル入力1 artist home gas writer geology marine twerp 出力 writer (指定された単語の中でgas、writerとのみtwerpが1行で記述できwriter、最長です) 単語は実際の単語ではない場合があります(したがって、3行目が無効であると想定しないでください)。ただし、常に正確に1つの答えがあると仮定できます(これ以上でもそれ以下でもありません)。 サンプル入力2 wrhuji bxnzmmx gllwssjjd vnccbb lrkjhgfdsa tttttt 出力 bxnzmmx 追加の句読点と空白を入力で提供できます(言語要件に従って)。ただし、追加の出力は指定しないでください。入力と出力は小文字です。最短のコードが優先されます。

3
最終的に水はタンクに到達しますか?
ASCIIアートの世界では、水、ハッシュウォール、および文字のメカニズムがあります。 あなたはハッシュウォール(#標識)で構成された部屋にいます: ####### # # # # # # # ### # # # ####### S水源(Sサイン)とE水タンク(Eサイン)を設置します。これらは、あらゆる方向から水を受け取ることができますが、SソースとEタンクはそれぞれ1つしかありません。 ####### # S # # # # # # ### # # E # ####### そのため、ソースを配置する場所を賢く選択する必要があります。そこで、コードゴルフのスキルを引き出します。 タスク ソースとタンクがある部屋を表す文字列で構成される入力を取得します。 ####### # S # # # # # # ### # # E # ####### 最終的に水がタンクに到達するかどうかを確認する必要があります。水は可能であれば流下し、可能であれば左右に流下します。上がっていないので水はたまりません。 …

24
文字列の回文化
前書き 分からない人にとっては、回文とは、文字列が逆方向の文字列と等しい場合です(インターパンクション、スペースなどを除く)。回文の例は次のとおりです。 abcdcba これを逆にすると、次のようになります。 abcdcba どちらも同じです。したがって、これを回文と呼びます。物事を回文化するために、文字列の例を見てみましょう。 adbcb これは回文ではありません。これを回文化するには、逆の文字列を最初の文字列の右側にある最初の文字列にマージし、両方のバージョンをそのままにする必要があります。短いほど良い。 最初に試すことができるのは次のとおりです。 adbcb bcbda ^^ ^^ すべての文字が一致するわけではないため、これは逆の文字列の正しい位置ではありません。一歩右に進みます。 adbcb bcbda ^^^^ これもすべての文字に一致するわけではありません。次のステップに進みます。 adbcb bcbda 今回は、すべての文字が一致します。私たちはすることができますマージ、両方の文字列をそのままを残します。最終結果は次のとおりです。 adbcbda これは回文化された文字列です。 タスク 小文字(またはより適切な場合は大文字)のみを含む文字列(少なくとも1文字)を指定すると、回文化された文字列を出力します。 テストケース Input Output abcb abcba hello hellolleh bonobo bonobonob radar radar hex hexeh これはcode-golfであるため、バイト数が最小の提出が勝ちです!

12
それは素晴らしかった…ほとんど
数学のクラスで素数について学んだことがあるなら、おそらく、ある時点で、数が素数かどうかを判断しなければならなかったでしょう。まだ39をプライムと間違えているなど、まだ学習している最中に混乱している可能性があります。39は半素数、つまり、2つの素数の積であるため、心配する必要はありません。 同様に、我々は定義することができ、Kの生成物であるとしてプライム-almost K素数。たとえば、40は4番目のほぼ4つの素数です。40 = 5 * 2 * 2 * 2、4つの因子の積。 あなたの仕事は、2つの整数nとkを入力として受け入れ、n番目のk-ほぼ素数を返す/返すプログラム/関数を書くことです。これはコードゴルフであるため、バイト単位の最短プログラムが優先されます。 テストケース n, k => output n, 1 => the nth prime number 1, 1 => 2 3, 1 => 5 1, 2 => 4 3, 2 => 9 5, 3 => 27 雑多 そのような閉じた形式が存在する場合、単純な閉じた形式以外の方法で自分で素数を生成する必要があります。

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