タグ付けされた質問 「string」

文字列の使用と操作を通じて特定の問題を解決するための競争。

30
別のアルファベットと数字
テキストの段落には、数字とアルファベットが混在しています。あなたの仕事は、各行の同じ順序で、左側に数字を、右側にアルファベット文字を分けることです。 ルール: 数値は単純な整数です。そのため、小数点も負符号も正符号もありません。 番号は連続していても連続していなくてもかまいませんが、ケースが何であれ、同じ順序で左側にプッシュする必要があります。 数字は単語の間に現れる場合があります。 テキストには、スペース、アンダースコア、コンマ、ドットに加えて、ASCIIアルファベット文字と数字のみが含まれます。 最小限のキーストローク(vimマクロなど)またはスクリプト作成の場合の最小バイト数でこれを行う人が勝者です。 テキスト例: A word can have any number of text like 433884, but all the numb89ers has to be moved left side but alph6abetical va9lues has to be pas46ted on right side. The text might con4tain chara29cters s2huffled like hlep or dfeintino or even …

10
最短パングラマティックウィンドウ
このコードゴルフチャレンジで示されているように、パングラムはアルファベットの26文字すべてを含む文または抜粋です。ただし、パングラマティックウィンドウは、テキストの一部の形をしたパングラムであり、単語の途中で終了または開始する場合があり、大きな作品のどこかにあります。これらはどこでも自然に発生し、真のパングラムの適切なサブセットであるため、パングラマティックウィンドウが含まれているかどうかを確認するだけでは退屈になりますが、それも以前に行われました。 そのため、文字の長さに基づいて、特定のテキストにある最小のものを見つけることに興味があります!もちろん、可能な限り短いバイト単位のコードで、テーマに合わせます。 ルールとガイドライン 文字列を入力として受け取り、入力に最小のパングラマティックウィンドウがある場合はそのウィンドウの文字列を返します。存在しない場合は、ブール値のFalseまたは空の文字列を返します。 文字列がパングラマティックウィンドウであるかどうかは大文字と小文字を区別せず、26文字のみに依存し、句読点や数字、その他の奇数記号には依存しません。 同様に、パングラマティックウィンドウの文字の長さは、単にすべての文字の数ではなく、文字の出現回数の合計だけです。返される値は、このカウントに基づいて最小でなければなりません。結局のところ、私たちは言語学者であり、プログラマーではありません。 ただし、パングラマティックウィンドウの出力は、同じ大文字と句読点などを含む、入力の正確な部分文字列である必要があります。 同じ文字長の複数の最短パングラマティックウィンドウがある場合は、いずれかを返します。 テストケース 'This isn't a pangram.' ==> False 'Everyone knows about that infamous Quick-Brown-Fox (the one who jumped over some lazy ignoramus of a dog so many years ago).' ==> 'Quick-Brown-Fox (the one who jumped over some lazy ig' '"The five boxing wizards …
15 code-golf  string 

30
文字列を切り替える
課題は、単に別の文字列内の文字列を切り替えることです。 説明 場合は、トグル文字列はのサブある主な文字列は、すべてのインスタンス削除トグル文字列からの主な文字列を、それ以外の場合は、メイン文字列の最後にトグル文字列を追加します。 ルール すべての文字列は印刷可能なASCII文字で構成されています この関数は、メイン文字列とトグル文字列の 2つのパラメーターを受け取る必要があります。 主な文字列は空にすることができます。 トグル文字列は空にすることはできません。 結果は文字列でなければならず、空でもかまいません。 最短の答えが勝ちです。 例 function toggle(main_string, toggle_string){ ... } toggle('this string has 6 words ', 'now') => 'this string has 6 words now' toggle('this string has 5 words now', ' now') => 'this string has 5 words' テストケース '','a' => 'a' 'a','a' …
15 code-golf  string 

10
入力のタイプを決定する
課題は簡単です。入力のタイプを判別し、そのタイプを示す識別子を出力します。 "UI"、符号なし整数:0、1、34、111111111111111111111111111111111111111111 符号付き整数"SI"、: 、 、、+0 、+1+42-1-3、-111111111111111111111111111111111111111111 "UD"、符号なし10進:0.0、1.23、1234.1234 "SD"、符号付き10進数:-0.0、+0.0、-1.235 「LE」、レター:a- zおよびA-Z 「SY」、記号:ASCIIコードポイント:([32-47, 58-64, 91-96, 123-126]つまり、数字と文字を除くすべての文字) 「ST」、文字列:上記の数値形式のいずれとしても解析できない2つ以上の文字 ルール: 入力は1〜99文字です。 入力には、印刷可能なASCII文字、コードポイントのみが含まれます:32-126。 出力は、上記で定義した2つの識別子文字(UI、SI ...)である必要があります 標準I / Oルールが適用されます 例: UI: 0 01 34 12938219383278319086135768712319838871631827319218923 SI: -0 +01 +1 -123 +123 UD: 0.0 3.1415 2.718281828459045235360287471352662497757 SD: +0.0 -3.1415 +2.718281828459045235360287471352662497757 LE: a k L Z SY: @ …

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

5
単語チェーンを再生する
私が若かったとき、私はWord chainと呼ばれる単語ゲームをプレイするために使用します。とても簡単でした。最初のプレイヤーが単語を選択します。次のプレイヤーは、前の単語が終わったのと同じ文字で始まる別の単語を言います。これは誰かがgivesめるまで永遠に続きます!トリックは、同じ単語を2回使用することはできないということです(誰もがその単語を使用することさえ忘れていない限り!)。通常、私たちは特定のトピックをより難しくするために遊びます。しかし、今、私はあなたに私のためにこれをするプログラムを作って欲しいです。 チャレンジ 完全なプログラムまたは関数を作成して、指定された一連の単語と開始単語を使用して、可能な限り長い単語チェーンをすべて検索します。 これはcode-golfなので、最短のコードが優先されます! 入力 入力には、リストと開始語の2つがあります。開始語はリストに含まれません。入力はすべて小文字のASCIIであり、リストには重複する単語は含まれません。 出力 次のようなリストの単語のすべてのシーケンス: 開始ワードは、シーケンスの最初のワードです。 後続の各単語は、前の単語の最後の文字と同じ文字で始まります。 シーケンスの長さは可能な限り最長です。 最長のシーケンスが複数ある場合は、それらすべてを出力します。 シーケンスには、必ずしもすべてのリストワードを含める必要はありません。それが不可能な場合もあります(テストケースを参照)。繰り返しますが、単語を2回使用することはできません! テストケース In: [hello, turtle, eat, cat, people] artistic Out: [artistic, cat, turtle, eat] In: [lemonade, meatball, egg, grape] ham Out: [ham, meatball, lemonade, egg, grape] In: [cat, cute, ewok] attic Out: [attic, cute, ewok] In:[cat, cute, …

3
文字列を一意に保ちながら文字を削除する
私の謙虚な意見では、答えが少なすぎるというこの素晴らしい(意見と投票数に基づく)チャレンジに触発されました。 文字列のリストを(何らかの方法で)与えられ、与えられた文字列から削除されたときに、文字列の合計の長さ(残っているもの)を可能な限り小さくしながら、文字列のセットを(何らかの方法で)返します一意の文字列と少なくとも1文字の長さ。 例: 「日」と「日」を指定します。文字「ay」が削除されると、指定された文字列は「D」と「d」になるため、「ay」を返します。 「Hello World!」、「Hello world。」、および「Hello world」を指定します。文字 "Helo Wrd"(スペースを含む)が削除されると、文字列が "!"、 "w。"、および "w"になるため、 "Helo Wrd"が返されます。 「世紀」、「10年」、「年」、「月」、「週」、「日」、「時間」、「分」、および「秒」を指定します。文字「centurdowi」の場合、指定された単語は「y」、「a」、「ya」、「mh」、「k」、「ay」、「h」、「m」、「s」になるため、「centurdowi」 」が削除されます。 返されるセットの順序と形式は重要ではありません。

9
キーパッドの主題について
Keep Talking and Nobody Explodesは、1人のプレイヤーが仮想の「爆弾」を制御できるローカルマルチプレイヤーゲームであり、別のプレイヤー、「爆弾除去マニュアルにアクセスできる」「エキスパート」に導かれなければなりません。ゲームで武装解除するモジュールの1つはキーパッドモジュールです。これは、この課題で対処するものです。 タスク 入力は、スペース(0x21〜0x7E)を除く印刷可能なASCII文字の1行で始まります。これらは、目に見えるキーパッドボタンを表します。 次の数行は「キー」を表します。最初の行のすべての文字が含まれるのは1行だけであり、必ずしも順序どおりではありません。タスクは、キーパッドの文字を一致するキー行の順に出力することです。 たとえば、入力が 5~Fy HrD7K!#} Ui%^fHnF )Tf;y~I5 ~Fi(&5gy ,'Xd#5fZ その後、キーパッドのボタンがあり5、~、Fとy。4番目のキー行のみ~Fi(&5gyにこれらの文字がすべて含まれているため、キーパッド文字を表示順に出力します~F5y。 規則と説明 入力は、キーパッドボタンとキー行が別々の行にある単一の複数行文字列でなければなりません。 すべてのキーパッド文字を含むキー行が1行だけあります。 すべての行、つまり最初のキーパッド行とそれに続くキー行には、重複する文字はありません。 ゲームとは異なり、キーパッドの文字数、各キー行の長さ、またはキー行の数については何も想定できません。ただし、すべてのキー行は同じ長さであることが保証されています。 出力には、単一のオプションの末尾の改行が含まれる場合があります。同様に、入力のオプションの末尾の改行についてはどちらの方法でも想定できますが、前提が必要な場合は回答で指定してください。 これはすでに一般的な慣行のようですが、STDOUT出力が正しい限り(エラーが出力の選択形式である場合)、この課題に対してエラーで終了してもかまいません。これにより、入力の処理が簡単になることを願っています。 テストケース 7 4?j01C3"ch KP.OG>QB)[ z#)Kn"I2&. ]#,D|sBFy5 Qzj*+~7DLP 出力: 7。最後の行のみに7。 0b~ Ob+hy{M|?;>=dtszPAR5 *8rCfsw|3O9.7Yv^x>Hq $ip.V@n}|La:TbIt^AOF jZ[Ec4s0|%b*$id',~J6 z*#b}-x$Ua&!O2;['T+? NVj_X8rlhxfnS\.z}];c bykscf.w^dnWj+}-*2g_ VP`AJH|&j5Yqmw/"9IMc 出力:0b~。4番目のキー行には、すでに正しい順序で文字が含まれています。 MTuz bIAr>1ZUK`s9c[tyO]~W oMGIi/H&V"BeNLua%El= j*uYbplT:~);BM|_mPZt Q}z5TC@=6pgr<[&uJnM% YOA(F~_nH6T{%B7[\u#5 y&t"8zQn{wo5[Idu4g:? [0tZG"-fm!]/|nqk,_2h …
15 code-golf  string 

4
分厚いパリンドローム
パリンドロームは楽しいですが、他の弦のいくつかは取り残されているように感じ始めています。これらの文字列をパリンドロームのチャンク配列に分割することで、これらの文字列をチャンキーな回文に変えることができます。 たとえば、文字列は、"abcabca"我々は文字で、それ文字を読めば回文ではありませんが、我々はそれ作るの3種類の方法持って分厚い回文を: ["abcabca"] ["a" "bcabc" "a"] ["a" "bc" "a" "bc" "a"] ご覧のとおり、分厚い回文性は非常に包括的な概念です。すべての文字列は、少なくとも1つの方法で分厚い回文に変換できます。 仕事 入力として文字列を受け取り、その回文的なchunkiness、つまり回文配列であるパー​​ティションの数を返すプログラムまたは関数を作成します。 テストケース OUTPUT | INPUT --------+--------------------------------------------- 1 | "" 1 | "a" 1 | "ab" 2 | "aa" 2 | "aaa" 3 | "abcabca" 4 | "abababab" 28 | "abcabcaabababababcabca" 1 | "bbbbabababbbbababbbaaaaa" 20 | "ababbaaaabababbbaaabbbaa" 5 …

20
ブー!ハロウィーンコードゴルフチャレンジ
長さ2文字以上の入力文字列を受け取り、文字列 ~BOO!~ (その文字列の先頭と末尾にスペースがある)を、両端にない文字列の一様にランダムな場所に追加するプログラムを作成します。 許可されていないサンプル入力:2または (空の入力) 許可されていないサンプル出力:Hello ~BOO!~ または ~BOO!~ Hello入力用Hello サンプル入力:Hello, World! サンプル出力:Hel ~BOO!~ lo, World!またはHello, Worl ~BOO!~ d! これはコードゴルフです。標準ルールが適用されます。バイト単位の最短コードが優先されます。 最短でスプーキーなプログラムをお持ちいただき、デニスにおめでとうございます!ハッピーハロウィン!

3
バロウズ、ホイーラー、バック
バックグラウンド バローズ-ウィーラー変換(BWT)のようなプレーンテキストとして文字列の特定の種類の類似文字の大実験における結果は、文字列の文字の可逆的置換です。たとえば、bzip2圧縮アルゴリズムで使用されます。 BWTは次のように定義されます。 などの入力文字列が与えられた場合、codegolf可能なすべての回転を計算し、辞書式順序で並べ替えます。 codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg 文字列のBWTは、codegolf各文字列の最後の文字がその順序で構成されている文字列、つまり上のブロックの最後の列です。のためcodegolf、これはをもたらしfodleocgます。 文字列codegolfとgolfcode結果は同じ文字列になるため、この変換自体は可逆的ではありません。ただし、文字列がで終わることがわかっている場合f、可能なプレイメージは1つだけです。 仕事 STDINから、またはコマンドラインまたは関数の引数として単一の文字列を読み取り、BWTまたはその入力文字列の逆数を出力または返す、複雑なプログラムまたは関数を実装します。 入力文字列にスペースが含まれていない場合、サブミッションは入力に単一のスペースを追加し、BWTを計算する必要があります。 入力文字列にすでにスペースが含まれている場合、後続のスペースがあるBWTのプリイメージを計算し、そのスペースを削除する必要があります。 例 INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: ProgrammingPuzzles&CodeGolf INPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< OUTPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R INPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R OUTPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 追加のルール …

13
10進数の時刻変換
前書き 時間は混乱しています。60秒から1分、60分から1時間、24時間から1日(そして厄介なam / pmは言うまでもありません!)。 今日、そのような愚かさの余地はないので、私たちは唯一の賢明な代替案を採用することに決めました:小数日!つまり、各日は1単位とみなされ、それより短いものはその日の小数部として書き込まれます。たとえば、「12:00:00」は「0.5」と記述され、「01:23:45」は「0.058159」と記述されます。 新しいシステムに慣れるには時間がかかるため、双方向で変換できるプログラムを作成する必要があります。 チャレンジ 「hh:mm:ss」のISO-8601形式で現代の時刻を指定すると、選択した言語でプログラムを記述し、同等の10進小数単位を返します。同様に、小数を指定すると、プログラムは最初に指定された最新の形式で時刻を返す必要があります。 次の前提を立てることができます。 現代の時間の入力と出力は、「00:00:00」から「24:00:00」の範囲で指定できます 10進数の時間の入力と出力の範囲は「0」から「1」であり、最大5桁の小数点以下桁数(「0.12345」など)を受け入れ/出力できる必要があります。より高い精度が許容されます プログラムは、入力に基づいて実行する変換方向を認識できる必要があります。 時間関連の関数/ライブラリを使用できません 勝者は、基準を達成する最短のコードによって決定されます。それらは、少なくとも10進数の7日単位で、または十分な提出があった場合に/選択されます。 例 例として使用するJavaScriptコードの(意図的に)不十分な記述を以下に示します。 function decimalDay(hms) { var x, h, m, s; if (typeof hms === 'string' && hms.indexOf(':') > -1) { x = hms.split(':'); return (x[0] * 3600 + x[1] * 60 + x[2] * 1) / …

2
中括弧などを修正する
あなたの使命は、あなたがそれを受け入れることを選択した場合、括弧、括弧、および括弧の最小数を追加して、特定の文字列(括弧、括弧、および括弧のみを含む)が正しい括弧に一致するようにすることです。ペアのブレース間の最大距離を確保することにより、追加されたシンボルの結び付きを解除する必要があります。これら2つのルールに一致する正しい答えを1つだけ返す必要があります。関係が存在する場合、それ以上の関係は、適切と思われる方法で破損する可能性があります。 例: input output // Empty String is a legal input [ [] // Boring example [()] [()] // Do nothing if there's nothing to be done ({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}}) [([{])]} {[([{}])]} // NOT …

14
CodeGolf-ノイズを無視する#1
説明書 Barryは、クライアントのショップで行われた購入に関する情報を提供する小さなAPIを担当するそれほど優れたバックエンド開発者ではありません。ただし、彼は素晴らしい仕事をしておらず、上司から代わりにクライアント側で修正するように言われています。理想的にはあなたのようなカンマ区切り値を受けるべき927,2,45,90のようなものに対応しますitem_id、item_amount、unit_price、total この最初のパズルでは我々だけを気にitem_idしてitem_amountいますが、問題を提示する代わりに他のフィールドを必要としています。バリーは、時々混ぜものとリターンノイズ出力の一部として、彼はまた戻って、順序が間違っを取得を取得しnoise、noise、unit_price、total、item_id、item_amount。 あなたのタスク あなたはのペアマップ(または類似の構造)に格納する必要があるitem_idとitem_amountにかかわらず、バリーが正しくかどうか、それらを返し、可能な文字の最小数に新しい行の各要素を印刷するかどうか。(保存は必須ではなく、出力に注意するだけです) サンプル入力(正しい形式と乱雑な形式の混合) 103,2,50,100 106,1,900,900 459,40,150,300,67,2 4,20,30,6000 言い換えると、入力は、&が重要な場所のいずれかa,b,x,xまたはx,x,x,x,a,b場所になります。csvのすべての行で(または他の名前)と呼ばれる変数があると仮定して、コードを提供する必要があります。abG サンプル出力 103,2 106,1 67,2 //This one was messy 4,20 公差 答えになると、許容範囲に一定のマージンがあります。同様の形式で正しい値に準拠した回答も受け入れられます。フォーマットは好き[a,b]、(a,b)または{a,b}有効であるが、a,b好ましいです。 最初のパズルは、簡単かつ迅速に解決できるという事実により、受け入れられていましたが、一部の人々もそれを気に入っていると感じました。それで、今のところクイックゴルフを続けます

6
リアルタイムの文字列照合
仕事 タスクは、選択したリアルタイムの正確な文字列照合アルゴリズムをゴルフすることです。 入力 新しい行で区切られた、標準入力で提供される2行のテキスト。最初の行には「パターン」が含まれており、単にcharactersから描かれたASCII文字列になりますa-z。 2行目にはより長い「テキスト」が含まれ、文字から単にASCII文字列が描画されa-zます。 出力 完全に一致する場所のインデックスのリスト。発生した各一致の開始位置を出力する必要があります。 仕様 アルゴリズムは、パターンの前処理に線形時間を費やすことができます。次に、テキストを左から右に読み取り、テキスト内のすべての文字に対して一定の時間をかけて、新しい一致が発生するとすぐに出力する必要があります。もちろん、試合は互いに重なり合うことができます。 アルゴリズム 多くのリアルタイム完全一致アルゴリズムがあります。1つは、たとえばKMPのwikiで言及されています。好きなものを使用できますが、常に正しい答えを出力する必要があります。 人気のある言語を好む人も独自の方法で勝つことができるように、言語ごとのリーダーテーブルを保持します。実装したアルゴリズムを説明してください。 リアルタイム リアルタイムの意味については多くの混乱があったようです。それは単に線形時間を意味するものではありません。そのため、標準のKMPはリアルタイムではありません。質問のリンクは、KMPのリアルタイムバリアントに関するKMPのWikiページの一部を明示的に指し示しています。ボイヤー・ムーア・ガリルもリアルタイムではありません。このcstheoryの質問/回答では問題について説明しますが、「リアルタイム完全一致」または類似の用語をGoogleで検索することもできます。

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