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

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

1
こんにちは、私は私の小さな猫の写真を取り戻したいです
注意:状況で提示されたものはすべて完全に偽物であり、チャレンジをもう少し楽しくするためにここに配置されました;)...または多分;) === ===送信の開始=== === こんにちは、 最近ディスク障害が発生しました。うまくいけばバックアップがあり、今は写真を取り戻したい。ただし、私が住んでいるパラレルユニバースでは、すべてのバックアップが破損しているように見えます。しかし、ユーザーがファイルを見つけるのに役立つ特別なツールがあったので、それは問題ではありません。それらはあなたのものと少し似ており、画像のように見えるヘッダーをディスクの周りで探します。彼らはまだベータ版であるため、ソフトウェアは見つけた画像を復元し、ランダムな名前を付けて、以下を含むリストを出力します。 写真を撮ったカメラのモデル、または-入手できない場合はシングル。モデルにはスペースを含めることができますが、スペースを含めることはできません-。 タブ文字(\t、ASCII 9) 写真ファイルの名前。 ファイルは標準のテキストファイルで、次のようになります。 [...] - uyfeiebsvH.jpg - hv754ce758.gif - 8321214736.jpg - FgnvsfHJBs.jpg - OMGILOVYOU.jpg - HElloDearH.png - umanHAYYSG.jpg COOLCAM S1332 umanIAYYSG.jpg iCell 7G 1234567890.jpg [...] ファイルは非常に大きく、モデルがあるすべてのファイルを別のディレクトリに移動するために、小さなUbroを使用することはできません。 親愛なる人間、私はあなたの助けが必要です。カメラに関するデータが含まれているすべての写真を別のディレクトリに移動してほしいので、このアイコンの混乱、スクリーンショットから私のかわいい猫の写真を見つけることができました... ただし、これらのバックアップはMy LiquidStateDrive46Xで実行されているため、十分な空き領域がありません(実際にインターネットをダウンロードしているので、他の何かをダウンロードするのは困難です。かろうじてウェブをサーフィンし、あなたが私が見つけた唯一の人、人間です!) そんな風に生きさせないで!私のために機能する小さなプログラムを書いて、ウブロを少し節約してください。 これはコードゴルフなので、最短のプログラムが勝ちます 私はあなたのプログラムHUMANを起動できるようにする必要があります!そのため、プログラムに既存のインタープリターがあることを確認してください。 リストファイルは、スクリプトを起動したディレクトリにあると期待できます。./list.txtという名前になります 画像を./withmodel/に移動する必要があります 復元されたすべての画像は、プログラムを起動した場所と同じディレクトリにあります 彼の名前に-を含む画像はありません。カメラモデルにも同じことが言えます 単純な関数ではなく、実際のプログラムである必要があります。 インターネットにアクセスできません。ダウンロードしています!これは本当に重要です。 猫の画像がすぐに必要な場合、または生き残れない場合:このコードゴルフは、この日にまだ生きている場合、10月10日に終了します。 === ===送信終了=== ===

9
ラブテスターコードゴルフ
2つの名前に共通する文字の総数を数え、その長さの積を見つけるプログラムを作成し、「愛のテスター」として機能します。 条件:1:1の回答(3つのうち3つなど)の出力が得られない場合があります。 入力 STDINまたは最も近い代替からの2つの名前。 出力 x大文字と小文字を区別せずに、2つの名前に共通する文字の総数として計算します。y名前の長さの積として計算します。次に、STDOUTまたは最も近い代替物への出力は Name1 and Name2 have x out of y chances of love. 例 入力: Wesley Polly 出力: Wesley and Polly have 2 out of 30 chances of love. ウェズリーとポリーには2文字の共通のがyありl、長さの積は6 * 5 = 30です。 入力: Bill Jill 出力: Bill and Jill have 3 out of 16 …

7
最長の音楽部分文字列を見つける
音楽の文字列は、ピアノの鍵盤で演奏することができます任意の文字列です。 子供の頃にピアノを習得することを余儀なくされた私たちのために、キーボードは次のようになります。 つまり、文字列feed a dead cabbageはすべて1つの文字がこれらのnotの1つに対応するため、音楽的な文字列です。 あなたの課題は、文字列をSTDINから入力として受け取り、最も長い音楽の部分文字列を見つけるプログラムを作成することです。次に、プログラムは部分文字列とその長さを出力する必要があります。以下に入力/出力の例をいくつか示します。 入力:「FEED ME!お腹がすいている!」 出力:フィード4 入力:いいえ、いいえ、いいえ、ムシストリンなし! 出力:0 入力: "A **bad** !!!fAd82342" 出力:abadfad 7 入力:「ゴルフが上手です!」 出力:dg 2 ルール 出力は大文字でも小文字でもかまいませんが、句読点やスペースがあってはなりません。 入力文字列には大文字と句読点がありますが、これは部分文字列が「音楽的」と見なされるかどうかに影響しません。 音楽の部分文字列と数字の間にスペースが必要です。

3
IMP:暗黙的な乗算パーサー
ジャックはCプログラミング言語が好きですがV=a*b*h; 、値を乗算するような式を書くのは嫌いです。 V=abh;代わりに彼は書きたいのですが、定義されabhているのでシンボルが未定義であることについてコンパイラがうめき声を出してint a, b, h;、乗算を推定できるようにする必要がありますか? 現在のスコープで定義されている変数のセットがわかっている場合、単一の乗算項を解読するパーサーの実装を支援します。 簡単にするために、(のように2*a*b)数値による乗算は考慮されず、変数のみが表示されます。 入力は、正規表現を満たす乗算項Tです。 [a-zA-Z_][a-zA-Z_0-9]* 変数セットZ。 変数セットZに対する項Tの解析Pは、次の条件を満たす文字列です。 *Pからのすべての出現を削除した後、Tを受け取り、 Zからの変数名であるか、Zからの適切な変数名を1 *文字で分割して構成されています。 ソリューションは、用語のすべての解析を出力する必要があります。 サンプル: Vars a, c, ab, bc Term abc Solution ab*c, a*bc Vars ab, bc Term abc Solution - Vars - Term xyz Solution - Vars xyz Term xyz Solution xyz Vars width, height Term …

1
最短の部分文字列インデックス
私は怠惰ですが効率的な人です。あなたの多くもおそらくそうです。だから、何かをしているときはいつも、最小限の努力でやりたいと思っています。そのため、この問題を解決するようにお願いしています。 ここにあるのは一種の文書です。このドキュメントのすべての行には、単一の単語または短いフレーズがあります。ドキュメントはソートされていませんが、すべてがどこにあるかはわかっています。私はいくつかのものを使ってより速く物事を見つけることができ、そのために2つ目のリストが必要です。ここがあなたの出番です。このドキュメントのすべてのテキスト行について、いくつかの識別子が必要です。何か私ができるCTRL+ Fが、それはその1つの結果を得るために絶対に必要以上に長くすることはできません。 入力例: (blank) an apple spiderman 3 7pm pick up laundry tequila fake mustache dishes on wednesday banana biscuits (blank) 出力例: ap,3,7,q,f,w,ba,bi 同じページにいることを確認するために、ここでも繰り返します。 入力は、改行で区切られた項目のリストを含むフォーマットされていないテキストファイルです。ここに.txt形式であり、「STUFF.TXT」と呼ばれています。 文書の最初と最後の行は空です。他のすべての行には、長さが> 0のエントリが含まれています。 ファイルには、英数字(すべて小文字)、スペース、および改行のみが含まれます。 望ましい出力は、元のリストと同じ順序での識別子のリストです。 すべてのリストアイテムに複数の検索語を使いたくありません。複数の回答がある場合は、1つ選択してください。どちらでもかまいません。上記の例では「ap」を選択しましたがan apple、「n」、「a」、「pp」、「pl」、「le」を選択することもできます。「an」ではありませんbanana。 ファイルが空になることはなく、重複が含まれることもありません。 必要に応じて、行末記号で一致させることができます。ただし、これは、リストアイテムを区別する方法が他にない場合にのみ使用する最後の手段です(たとえば、 'apple'と 'apples')。 標準の抜け穴は許可されていません。また、これはコードゴルフなので、最短のコードが勝ちます。 もう1つの例: (blank) ban any king bean yen rake raki bar (blank) そしてその出力: ban,ny,g,be,ye,ke,aki,ar

3
制限されたメモリの最適化
2つの文字列間の編集(またはレーベンシュタイン)距離は、1つの文字列を別の文字列に変換するために必要な単一文字の挿入、削除、および置換の最小数です。2つの文字列の長さがそれぞれnである場合、これは動的プログラミングによってO(n ^ 2)時間で実行できることがよく知られています。次のPythonコードは、2つの文字列s1とに対してこの計算を実行しますs2。 def edit_distance(s1, s2): l1 = len(s1) l2 = len(s2) matrix = [range(l1 + 1)] * (l2 + 1) for zz in range(l2 + 1): matrix[zz] = range(zz,zz + l1 + 1) for zz in range(0,l2): for sz in range(0,l1): if s1[sz] == s2[zz]: matrix[zz+1][sz+1] = min(matrix[zz+1][sz] + …

15
変換しない文字列の合計
2つの文字列入力を受け取り、これらの2つの文字列の合計を、intに変換したり、数値データ型を使用したりせずに出力する必要があります。 例: string one = "123"; string two = "456"; string sum = "579"; 文字列は10桁を超えないものとします。 これはコードゴルフであり、キャラクターの勝利における最短の答えです。C#で回答を編集すると、笑顔になります:)。 編集:intへの変換は、このような性質のものとして定義できます Int.TryParse、(int)、Convert.ToIntなど

4
森の小道
悲惨なカヌーに乗った後、川の急流の終わりに滝から落ちてしまいました。あなたのカヌーは爆発しましたが、あなたはなんとか爆発を生き延びました。しかし、あなたの川の旅は完全に地図から外れました-あなたは今、森の真ん中で迷いました。幸い、あなたはまだプログラミングスキルを持っているので、プログラムをツリーの側面に切り分けて、森を抜ける方法を見つけることにしました。ただし、ツリーには表面積があまりないため、プログラムをできるだけ短くする必要があります。 フォレストは、nby n(n > 5)の正方形の文字で表すことができ、小文字のみで構成されますa-z。フォレストの例: anehcienwlndm baneiryeivown bnabncmxlriru anhahirrnrauc riwuafuvocvnc riwnbaueibnxz hyirorairener ruwiiwuauawoe qnnvcizdaiehr iefyioeorauvi quoeuroenraib cuivoaisdfuae efoiebnxmcsua このフォレストでは、a左上隅から右下隅に向かって斜めに文字のラインが走っていることにお気づきかもしれません。これは、森を通る「道」であり、それをたどるとどこかにあなたを導きます。あなたの仕事は、特異な経路を見つけるプログラムを書くことです。ここで、この課題で「パス」を意味するものをより具体的に説明します。 この課題での「パス」は、ブレゼンハムアルゴリズムで生成された可能性があるものに類似したラインとして定義されますが、次の追加要件があります。 行の長さは6文字以上にする必要があります 行内の同一直線上にある(完全に隣接する)文字のグループはすべて同じ長さでなければなりません。 フォレストの一方の端で始まり、反対の端で終わります(詳しくは、私のコメントを参照してください) 2番目の要件をより明確に説明するには、次の行を検討してください。 aaa aaa aaa aaa aaa この行は、同一線上にある文字の「セグメント」で構成されており、各セグメントは正確に3文字です。パスとみなされます。今、この行を考えてみましょう: a aa a aa a aa この行は、すべて同じ長さの文字ではない同一線上の「セグメント」で構成されています(一部は1文字で、一部は2文字です)。したがって、これはパスとしての資格はありません。 フォレストのマップが与えられたプログラムは、パスで使用されている文字を識別します。入力は、都合のよいもの(たとえば、コマンドライン引数、STDIN prompt()など)を使用します。変数に事前初期化することはできません。入力の最初の部分は、nフォレストのサイズを表す単一の整数です(フォレストは常に正方形です)。その後はスペースで、次にフォレスト全体が単一の文字列になります。たとえば、サンプルのフォレストは、次のように入力として提示されます。 13 anehcienwlndmbaneiryeivownbnabncmxlriruanhahirrnraucriwuafuvocvncriwnbaueibnxzhyirorairenerruwiiwuauawoeqnnvcizdaiehriefyioeorauviquoeuroenraibcuivoaisdfuaeefoiebnxmcsua この出力は次のようになります。 a パスは文字を使用して形成されているためaです。フォレスト内のパスは1つだけです。これはコードゴルフなので、最低数のキャラクターが勝ちます。質問がある場合は、コメント欄で質問してください。

5
printfスタイルの文字列フォーマット
チャレンジ C printfスタイルの文字列フォーマットを実装する関数を記述します。 ルール あなたは必要があり、少なくとも実装%%、%c、%s、%dと%f。 あなたはいけません、組み込みの文字列の書式設定の方法を使用します。 あなたはしてはならない外部プログラムを実行したり、あなたのプログラムからインターネットに接続します。 無効な入力の処理方法はユーザーが決定しますが、プログラムが異常終了してはなりません。 あなたはすべき書く可変引数機能を可能な場合。 このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、RFC 2119で説明されているように解釈されます。

3
Python文字列リテラルを解析する
課題は、Pythonが行うように文字列を解析し、文字列の内容を出力することです。 入力(コマンドライン引数またはstdin):文字列リテラル(例:"hello")(または複数のリテラル、以下の文字列リテラル連結を参照) 出力(stdout) :文字列の内容(例えばhello) 文字列を解析するためのルール: 文字列リテラルは'a'、一重引用符()、二重引用符("a")、三重単一引用符('''a''')、または三重二重引用符("""a""")の対応するペアで囲まれます。文字列を開いたタイプの引用符の最初の再発は、文字列を終了します。 バックスラッシュエスケープ: \'文字列内となり'、\"となり"と\\なり\。他のバックスラッシュエスケープを実装する必要はありません。エスケープシーケンスの一部ではないバックスラッシュは、バックスラッシュのままです。 文字列リテラルの連結:隣接する文字列リテラルの内容が連結されます。たとえば、に"hello" 'world'なりhelloworldます。 入力には、リテラルの一部ではないスペースが含まれている可能性があります。 リテラルの内外で、他の種類の空白をサポートする必要はありません。 追加のルール: eval、execおよび同様のものは、リテラルまたはその一部を解析することはできません。 入力は有効であると想定できます。 最大入力長は1023文字と想定できます。 例: "hello" ' world' -> hello world """\"""'\\\A""" -> """'\\A ( '''"""'''"""'''""" ) (括弧なし、ただしスペースあり)-> """''' 最短のコードが勝ちます。

5
任意の長さの3乗平方和語
ストリングに2回続けてサブストリングが含まれていない場合、ストリングはスクエアフリーです。 3文字のアルファベットを使用して、任意の長い正方形のない単語を作成することができます。 stdinから正の整数nを受け入れ、文字A、Bおよびを使用して長さnの平方自由語を出力するプログラムを記述しCます。 最短のコードが勝ちます。

5
単純なタグパーサー
これは寛容なHTMLパーサーのモデルです。HTMLを解析して属性を抽出する代わりに、このコードゴルフでは、タグパーサーは単純になります。 タグ構造を解析し、括弧で囲まれた形式を返す関数を記述します。開始タグは1つの小文字で構成され、終了タグは1つの大文字で構成されます。たとえば、やにaAbaAB解析さ(a)(b(a))れます<a></a><b><a></a></b>。もちろん、タグは並列してネストすることができます。 「時期尚早」の閉じたタグを処理する必要があります。たとえば、ではabcA、はA最も外側のを閉じるaので、に解析され(a(b(c)))ます。 余分な終了タグは単に無視されます:にaAB解析され(a)ます。 重複するタグは処理されません。たとえば、前の追加の終了タグのルール(-> ()+ (追加))によって、ではなくにabAB解析されます。(a(b))(a(b))(b)abABabA(a(b))B 入力に空白やその他の不正な文字がないと仮定します。 ライブラリの使用は許可されていません。 以下は、リファレンス実装とテストケースのリストです。 #!/usr/bin/python def pars(inpu): outp = "" stac = [] i = 0 for x in inpu: lowr = x.lower() if x == lowr: stac.append(x) outp += "(" + x i = i + 1 else: while len(stac) > 1 and …

3
アナグラムを解く
参照:Granma loves Ana 小文字のASCII文字列が与えられます。この辞書ファイル(更新済み)を使用して、アナグラムを解くことです。アナグラムを解くには、改行で区切られた入力文字列の各文字を使用して形成できるすべての単語または単語のグループを出力する必要があります。同じ単語の異なる順序でのグループは一意ではないため、個別に出力しないでください。ただし、単語の順序は関係ありません。出力ソリューションの順序も重要ではありません。入力が単語を形成できない場合、何も出力しません。 いくつかの有用なテストケース: Input: viinlg Output: living Input: fceodglo Output: code golf Input: flogflog Output: golf golf Input: ahwhygi Output: highway high way Input: bbbbbb Output: ルール/警告: 辞書リストには、好きな方法でアクセスできます。コマンドライン引数、標準入力、ファイルからの読み取り、またはインターネットからの読み取りはすべて受け入れられます。 入力は小文字のASCII文字のみで構成されます。特定の場合に結果を出力する必要はありません。 既に有効な単語を形成する文字列は与えられません(ただし、などの複数の単語を形成する文字列が与えられる場合がありますbluehouse)。 末尾の改行は許可されますが、必須ではありません。 標準の抜け穴が適用されます。 これはcode-golfです。バイト単位の最短コードが優先されます。幸運を!

7
親文字列内のアナグラムを検出する
親文字列とクエリ文字列の2つの文字列が与えられた場合、タスクはクエリ文字列の回数、またはクエリ文字列のアナグラムを決定することです。大文字と小文字を区別した検索で、親文字列に表示されます。 行動の例 入力1 AdnBndAndBdaBn dAn 出力1 4 説明 サブストリングは以下の太字で強調表示されています。 Adn BndAndBdaBn AdnB ndA ndBdaBn AdnBn dAn dBdaBn AdnBnd および BdaBn 検索はすべての検索で大文字と小文字を区別する必要があることに注意してください。 入力2 AbrAcadAbRa cAda 出力2 2 これは、標準のASCIIでのみ機能する必要があります。これはコードゴルフであるため、最短の文字数で承認されます。また、ゴルフ版ではなく、ゴルフ版ではないコードを投稿してください。

2
この識別子を提案する必要がありますか?
前書き Android Studioやその他のIDEには、効率的なコード挿入を支援するためのコード補完があります(特に、クラスまたはメソッドの名前が冗長である場合)。以下の画像のようになります。 提案するクラス、メソッド、変数を決定するためにIDE間で使用されるロジックは少し異なりますが、それ以外は一般的です。各単語の最初の文字を入力すると、それらの最初の文字と一致する識別子が提案されます。 チャレンジ この課題では、2つの文字列、つまりinputおよびを受け取るプログラムまたは関数を記述してidentifier、identifier一致しinputます。 分割 identifier言葉にます: 小文字の後に大文字("SplitHere" -> "Split", "Here")。 大文字の後に大文字と小文字("SPLITHere" -> "SPLIT", "Here")、または 数字またはアンダースコア_("SPLIT_HERE" -> "SPLIT", "HERE")があります。 これでもまだ十分に明確でない場合は、分割する条件を表す正規表現を次に示します(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|[_0-9]。ここにいくつかのサンプルがあります: theWord_Example、3つのワード(ここでthe、Word、Example)を求めることができます。 THEWORD2EXAMPLE、ここでは2つの単語(THEWORD、EXAMPLE)しか見つかりません(THEWORDは一連の大文字なのでEXAMPLE)。 THEWordEXAMPLE3、ここで3つのワードが(THE、Word、Example)を求めることができる(Wordここでは別個のワードであると考えられます)。 THEWORDEXAMPLEFOUR、1語のみ(THEWORDEXAMPLEFOUR)が見つかります(一連の大文字全体)。 この目的のために、ここでは簡略化されたバージョンを使用します。実際には、ロジックははるかに複雑です。このバージョンでは、2つのルールしかありません。 がinput小文字のみで構成されidentifierてinputいる場合、は、input部分文字列に分割されている場合にのみ一致します。各部分文字列についてidentifier、その部分文字列で始まる単語がその正確な順序で存在します。 入力例: sbo Truthy例:、、(UPDATE)SQLiteBindOrColumnIndexOutOfRangeExceptionSparseBooleanArray StringIndexOutOfBoundException 偽の場合:(SeekBar欠落o)、(単語の先頭にない)StatusBarNotificationo input大文字が含まれている場合は、inputルール1を適用するときに、各大文字の前にを分割する必要があります。 入力例: sbO 真実のケース: SQLiteBindOrColumnIndexOutOfRangeException Falsy例:(単語の先頭に指定する必要があります)、 (間違った順序)SparseBooleanArrayOStringIndexOutOfBoundException I / O 入力:2つの文字列のための1 inputのためにと、1 identifier。あなたはとることのできる正規表現[A-Za-z]+マッチinputと正規表現[A-Za-z0-9_]の一致identifier。 出力:真または偽の値の1つ。どの値を真実として何を返すかを選択できますが、選択はすべてのケースで一貫している必要があります。あなたが返すことができる。例えば1/0、true/false、π/eまたは何が、彼らはすべてのケースで同じ滞在する必要があります。 テストケース 各行は、2つの文字列、つまりinputおよびidentifierそれぞれで構成されています。 真実のケース: "sbo" …

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