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

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

13
ゴルフマイシェークスピア引用文献
シェークスピアのエッセイを書いている間、引用の参照をより管理しやすい長さに短縮する必要があることに気付きました。私は以前これを書いていました: (Act 1, Scene 2, Lines 345-346) しかし、私は今、次のようにそれらを書くように言われました: (I.ii.345-6) 明らかに、シェークスピアの引用文献を少し下にゴルフするために、ゴルフのコードが必要です。 タスク テンプレート1または2の後に文字列を入力すると、それぞれテンプレート3または4の後に文字列を印刷または返すプログラムまたは関数を作成します。あなただけの行為1から5とシーン1から9をサポートする必要があります。 テンプレート テンプレート1 (Act x, Scene y, Lines a-b) あなたは、と仮定してよいx、5を超えることはありませんy9を超えない、決してaそしてb常にあなたの言語の最大の正の標準的な整数値を超えない正の整数であり、そしてa常に独占未満ですb。 テンプレート2 (Act x, Scene y, Line a) についての情報を除き、テンプレート1と同じ条件b。 テンプレート3 (x.y.a-b) ここで、x資本ローマ数字であり、y小文字ローマ数字であり、aそしてb数であり、そしてb以下から同じ意味の最初の異なる桁以上だけ桁に短縮されますa。 テンプレート4 (x.y.a) についての情報を除き、テンプレート3と同じ条件b。 テストケース ましょうf(s)タスクで定義された関数です。""文字列値を示します。 >>> f("(Act 1, Scene 2, Lines 345-346)") "(I.ii.345-6)" >>> f("(Act 3, Scene 4, …

30
テニスをしましょう
突然テニスをしたいのですが、残念ながらコートはありません! 驚き!ここがあなたの出番です。 私のためにテニスコートを印刷する必要がありますが、秘密の理由により、できる限り少ないバイト数で印刷する必要があります。 テニスコート --------- | | --------- | | | xxxxxxxxx | | | --------- | | --------- これはcode-golfなので、バイト単位の最短コードが勝ちです!

26
プログラムパズルとコード____
入力 印刷可能なASCII文字(32〜126の範囲)で構成される、空ではないエンコード文字列。一部の欠落文字がに置き換えられてい_ます。 出力 不足している文字を含む、すべての文字が小文字の同じ長さのデコードされた文字列。 どうやって? 編集:コメントで@Deusoviが述べたように、これはベーコンの暗号の変形です。 元の文字列のすべての文字を収集し、5でグループ化します。5の完全なグループに収まらない追加の文字は無視されます。 各グループをバイナリに変換します:lowercase = 0、uppercase = 1。これは整数のリストにつながります。 このリストの各値Nを使用_して、元の文字列の各値を、出現順にアルファベットのN番目の文字(0インデックス付き)に置き換えます。 例: prOGraMMIng PuZZleS & cOde ____ prOGr --> 00110 --> 6 --> 7th letter = 'g' aMMIn --> 01110 --> 14 --> 15th letter = 'o' gPuZZ --> 01011 --> 11 --> 12th letter = 'l' leScO …

30
つららを作る
Stack Exchangeの技術的な制限により、タイトルは正しくレンダリングされません。このチャレンジの正しいタイトルは 作る Word Icicle! Word Icicle Word cicle ord cicle ord icle ord i le or i le or i l or l or r 今日の課題は、入力単語からつららを作ることです。完全に印刷可能なASCIIの文字列と、少なくとも2つの非スペース文字を指定して、次の手順を実行します。 文字列の現在の状態を出力します。 字句的に最小の文字(スペース以外)をスペースに置き換えます。同点がある場合は、左端の文字を置き換えます。 文字列にスペース以外の文字が1つだけ含まれるまで、連続する行で繰り返します。 これにより、入力文字列が溶けているように見えるエフェクトが作成されます... I'm Melting!!! I'm Melting !! I'm Melting ! I'm Melting I m Melting m Melting m elting m lting …

30
各文字の最初の出現時に文字列を分割
関連する。 印刷可能なASCII文字列が与えられた場合、以前は同じケースで見られなかった文字が出現するたびに、新しいサブ文字列で始まる空でない文字列のリストにそれを分割します。 例 "mississippi" → ["m","i","ssissi","ppi"] "P P & C G" → ["P"," P ","& ","C ","G"] "AAA" → ["AAA"] "Adam" → ["A","d","a","m"] "" → [] 逸話:結果には0〜95個の要素が含まれます。95 番目のサブ文字列は、その時点ですべての印刷可能なASCII文字がサブ文字列を開始しているため、必ず最後まで継続します。したがって、すべての追加文字が前に発生し、新しいサブ文字列を開始できません。

30
既知の既知のものがあります
元米国国防長官のドナルド・ラムズフェルドは、「既知の知人」というフレーズを有名にした。ここでは、彼の発言を4行のスタンザに要約します。 具体的には、次のテキストを出力します。 known knowns known unknowns unknown knowns unknown unknowns 大文字と小文字は区別されません(たとえば、大文字Known unKnownsで結構です)。また、単一の末尾の改行を使用できますが、他の形式の変更は許可されていません。これは、単語間の単一のスペース、および行間のLF(59バイト)またはCR/LF(62バイト)を意味します。 ルール 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。

30
3番目の文字列
2つの文字列が与えられた場合、2つの入力のいずれとも等しくないが、入力のいずれかと同じ長さ(文字数)を持つ3番目の文字列を出力します。有効な出力が少なくとも1つあることが保証されています。 テストケース テストケースは、文字列であることを示すために引用されています。出力は多くの可能性の1つです。 input, input -> output "test", "test" -> "tttt" "do", "don't" -> "dnut_" "ye s", "yes" -> "fals" "yes", "yes" -> "noo" "maybe", "mayue" -> "false" "false", "false" -> "truee" "false", "true" -> "fatr" "1", "" -> "0" "", "t" -> "s" "", "abcabc" -> "testst" "abcdefghijklmnopqrstuvwxyz", "aaaaaaaaaaaaaaaaaaaaaaaaaa" …
45 code-golf  string 

26
ビッグベンはBONG
あなたの仕事は、Big Ben(Twitter)を模倣するプログラムを作成することです。 仕事 (コンピューターのローカル時間またはUTCに従って)新しい時間が始まるたびに、BONG繰り返しhour時間を(単語間にスペースを入れて)出力する必要があります。たとえば、3時の場合、を出力する必要がありますBONG BONG BONG。時間形式は12時間形式に従います。つまり、12時以降、13ではなく1になります。プログラム/関数は永久に実行する必要があります。 例: カッコ内に出力しない (start: 00:34 for example) BONG (01:00) BONG BONG (02:00) (...) BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG (12:00) BONG (01:00 again) (...) (it continues forever) ルール BONGsの各シリーズは、改行で区切る必要があります 先頭/末尾の改行が許可されます しかし大手/末尾のスペースはされていない許可します 提出は永久に実行する必要があります 出力は、時間の開始から±3秒で印刷される場合があります 特定の時間にプログラムが実行されると想定することはできません。 これはcode-golfなので、バイトカウントが最も短いプログラムが勝ちます!

1
線形時間の最長共通部分文字列
この課題は、次の問題を解決するコードを記述することです。 2つの文字列AとBを指定すると、コードはAの部分文字列の開始インデックスと終了インデックスを次のプロパティで出力する必要があります。 Aの部分文字列もBの部分文字列と一致する必要があります。 最初のプロパティを満たすAの部分文字列はもうないはずです。 例えば: A = xxxappleyyyyyyy B = zapplezzz appleインデックス付きの部分文字列4 8(1からのインデックス)は有効な出力になります。 機能性 入力は、ローカルディレクトリ内のファイルまたはローカルディレクトリ内のファイルにあると想定できます。これが選択です。ファイル形式は、新しい行で区切られた2つの文字列になります。答えは、単なる機能ではなく、完全なプログラムでなければなりません。 最終的には、http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/の文字列から取得した2つの部分文字列でコードをテストしたいと思います。 スコア これはひねりを加えたコードゴルフです。コードはO(n)時間内に実行する必要がnあります。これは入力の全長です。 言語とライブラリ 自由に利用できるコンパイラー/インタープリター/などを備えた任意の言語を使用できます。Linuxの場合。このタスクを解決するように設計されていない標準のオープンソースライブラリのみを使用してください。論争の場合、これはあなたの言語に標準で付属しているライブラリ、またはデフォルトのリポジトリからデフォルトのubuntuマシンにインストールできるライブラリとしてカウントします。 有用な情報 この問題を線形時間で解決するには、少なくとも2つの方法があります。1つは最初にサフィックスツリーを計算することで、2つ目は最初にサフィックス配列とLCP配列を計算することです。 ここに、線形時間接尾辞ツリー構築の完全な(おそらく多すぎる)詳細な説明があります(残念ながら、図の一部が台無しになっています)。https://stackoverflow.com/questions/9452701/ukkonens-suffix-tree-algorithm-in-plain-englishには、線形時間サフィックスツリーの構築に関する非常に良いSO回答もあります。ソースコードへのリンクも含まれています。別の詳細な説明がここにあります。今回はCで完全なソリューションを提供します。 http://www.cs.cmu.edu/~guyb/realworld/papersS04/KaSa03.pdfのセクション2は線形時間接尾辞配列構築アルゴリズムを示し、付録AにはC ++ソースコードがあります。この回答は、最長の共通部分文字列https://cs.stackexchange.com/questions/9555/computing-the-longest-common-substring-of-two-strings-using-suffix-arraysを計算する方法を示しています。関連するビデオ講義もあるhttps://courses.csail.mit.edu/6.851/spring12/scribe/lec16.pdfのセクション5 https://courses.csail.mit.edu/6.851/spring12/lectures/L16 .htmlは1:16:00から始まる同じアルゴリズムについても説明しています。

30
私を愛している、私を愛していない
私を愛している、私を愛していない このシンプルな子供向けゲームは古いですが、まだ人気があります。私たちは今21世紀に生きているので、デジタル化しましょう! 仕様 ランダムシードを生成できない言語を使用している場合を除き、プログラムは入力を受け付けません。その場合、シードを入力として取得できます。あなたの仕事は、ゲーム内のように、「Loves me ...」と「Loves me not ...」の合計3〜20行をランダムに出力するプログラムを作成することです(追加の1行。読書)。 ただし、いくつかの制限があります。各行の後に改行が必要です。最初の行は「Loves me ...」でなければなりません。最後の行(「Loves me」または「Loves me not」)は、それぞれ感嘆符または単一のドットで終わる必要があります。最後の行の後、「愛してる!」に応じて、新しい行にheart(<3)または壊れたハート(</3)を出力する必要があります。または「私を愛していない」。最後の文でした。 末尾の空白は許可されます。 出力例 出力: 私を愛して...私を 愛していない... 私を愛して... 私を愛していない... 私を愛して! <3 別の出力: 私を愛して...私を 愛していない... 私を愛して... 私を愛していない。 </ 3 これがcode-golfなので、最短のエントリーが勝ちです! また、私の最初の挑戦:)がんばって!

30
出力プログラミング言語名
チャレンジ: 選択したプログラミング言語では、プログラミング言語の名前を入力および出力しないでください。 結構ですよね? 制限事項: コードのプログラミング言語の名前に含まれる文字は使用できません。たとえば、バッチを使用する場合、コードで文字「B」「a」t「c」「h」を使用しないでください。これは大文字と小文字を区別することに注意してください。文字「b」は「B」とは異なるため、引き続き使用できます。 言語の名前の前後に「ジャンク出力」を持つことができます バージョン番号は、言語の名前の一部としてカウントされません。たとえば、Python 3の場合は、回答のコードで3番を使用できます プログラミング言語名の出力では、大文字と小文字は区別されません。 可能なすべての文字の組み合わせを強引に強制し、言語名を取得することを希望することは禁止されています。 出力例:(私のプログラミング言語はLanguageと呼ばれます)(有効な場合は✔、そうでない場合は✖) Language ✔ Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and the use …

12
アウトラインを保持しながら単語をスクランブルする
これは、どの文字がどの文字と交換されるかについての規則のため、単語内の文字をランダム化する方法やケンブリッジ転置よりもはるかに高度です。ここでは単純な正規表現では十分ではありません。 テキストの最初と最後の文字に加えて全体のアウトラインが一定である限り、単語の内包物がスクランブルされている間にテキストを読むことができることはよく知られています。印刷可能なAscii + Newlineテキストが与えられたら、次の規則に従って各単語をスクランブルします。 スクランブルは(擬似)ランダムでなければなりません。 単語は、AからZまでのラテン文字のシーケンスです。 頭文字のみが大文字になります。 最初と最後の文字はそのままにしておく必要があります。 スクランブルをかける場合、次のグループのいずれかの文字のみが場所を交換できます。 acemnorsuvwxz bdfhkl gpqy it j (所定の場所に留まる) 例 彼らのoeiltnusをpsrrnveiegしながら、Srcmableがすり減った txetは、最初の文字と最後の文字に加えてovaerll ontliues raemin canstnotである限り、trodのインランドがsrcambledされている間でもまだ読めることがよく知られています。patnirlbe Acsii + Nwnliee txetを考えると、samrclbe ecahの単語anoccdirgはこれらのrelusに当てはまります。 Smncrbliagは(プセド)ロンダムでなければなりません。 Wrodはラテン語のchreratacs、thurogh Zのシーケンスです。 初期のlrtteesのみが更新されます。 fisrtとlsat lettresはuctoenhudにとどまらなければなりません。 sarnclbimgの場合、fwllnoiog guorpsの1つを含む文字のみがプラークを変更できます。 aneusvrowxmcz bhkfdl gqpy it j (plcaeに滞在) エムザプル

30
この単語は字句順ですか?
入力文字列Sを指定すると、Sのtruthyすべての文字が字句順の場合に返されます。ASCII値は昇順または降順のいずれかである必要があります。falsy他の場合に戻ります。 入力 入力は同じケースになります(すべて大文字またはすべて小文字)。あなたの提出物は両方を処理できるはずです。 入力は範囲内のASCII [A-Za-z]のみで構成されます 入力長は、言語がサポートする最大値まで、少なくとも1です。 入力は文字列です-文字のリストではなく、ASCIIコードポイントの配列ではありません。 出力 出力は、trueまたはfalse、または0/1、またはtrue / falseあなたの言語が提供できる他の明確なスタイル出力でなければなりません。 すべての偽のケースは、すべての偽のケースと同様に、同じ出力を持つ必要があります。いいえ、「Falseは0、trueは1、2、または3」。 追加のルール 標準的な抜け穴は禁止されています 回答は、スニペットまたはREPLエントリではなく、完全なプログラムまたは関数でなければなりません。 code-golf、バイト単位の最短回答が勝ちます。 テストケース 真実の "ABCDEF" "ZYX" "no" "tree" --> the multiple 'e's don't break the order "q" 偽物 "ABCDC" "yes" "deed" 無効 "Hello" --> invalid input - mixed case-, does not have to be handled "" …

6
ルービックキューブにアリがいます
標準の解決済みの3×3×3 ルービックキューブには、6つの異なる色の面があり、各面は1色の正方形の3×3グリッドです。白い顔は黄色の反対側、赤い反対側はオレンジ色、反対側の青色は緑色の反対側にあり、白色が上向きの場合、赤色は青色の左側にあります。 アリが白い顔の中央の正方形に座って、赤い顔を向いていると想像してください。彼に3つのコマンドを与えることができます: 進む(^)-次のグリッドの正方形に向かっている方向に一歩踏み出し、必要に応じて立方体の端を越えます。 右(>)-右に(時計回りに)90°回転し、同じグリッドの正方形にとどまります。 左(<)-左に(反時計回りに)90度回転し、同じグリッドの正方形にとどまります。 コマンドの任意のリストが与えられたら、アリが訪れる正方形の色を見つけます(白い開始正方形は含まれません)。 たとえば、コマンドシーケンスに^^>^^<^^^は次のようなパスがあります。 順番に表示されるグリッドの正方形の色は、開始正方形をカウントせずにwhite red red green green green yellow、またはだけwrrgggyです。 コマンド文字列を受け取り、キューブ上のアリのパスに対応<^>する文字列wyrobg(白、黄、赤、オレンジ、青、緑)を印刷または返すプログラムまたは関数を作成します。 バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です。 ノート 立方体は空中にあり、アリは効果的な微絨毛を持っているので、彼は立方体全体を横切ることができます。 キューブは常に解決された状態のままです。 正方形の色は、正方形への移動時にのみ記録され、回転ではありません。最初の白い四角は記録しないでください。 単一のオプションの末尾の改行が入力および/または出力に存在する場合があります。 テストケース input : output [empty string] : [empty string] ^ : w < : [empty string] > : [empty string] ><><<<>> : [empty string] >^ : w <<^> …

30
全角テキスト
全角テキストは、最後の文字を含むすべての文字の後にスペースがあるテキストです。たとえば、この質問の最初の文は次のようになります。 F u l l w i d t h t e x t i s t e x t t h a t h a s a s p a c e a f t e r e v e r y c h a r a c t …
44 code-golf  string 

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