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

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

9
文字列の非親子化
適切に括弧で囲まれた文字列を入力として、一致する括弧内(またはすべての括弧の外側)にある空でないすべての部分文字列のリストを、ネストされた括弧を削除して出力します。各サブストリングは、まったく同じ一致する括弧内の文字のシーケンスである必要があります。部分文字列は深さの順にリストする必要があり、同じ深さの部分文字列は文字列に現れる順にリストする必要があります。入力が常に正しく括弧で囲まれていると仮定します。 入力には、小文字のASCII文字と括弧のみが含まれていると想定できます。 答えは、文字列が与えられたときに文字列のリストを返す関数でなければなりません。 例: 'a(b)c(d)e' -> ['ace', 'b', 'd'] 'a(b(c)d)e' -> ['ae', 'bd', 'c'] 'a((((b))))' -> ['a', 'b'] 'a()b' -> ['ab'] '' -> [] 'a' -> ['a'] '(((a(b)c(d)e)f)g)h' -> ['h', 'g', 'f', 'ace', 'b', 'd'] 'ab(c(((d)ef()g)h()(i)j)kl)()' -> ['ab', 'ckl', 'hj', 'efg', 'i', 'd'] 最少バイトが勝ちます。

30
私の名前は公式ですか?
前書き ToonAlfrinkが言うように:「私はここで初心者が試みることができる十分な簡単な質問がないと思います!」。そのため、タスクは非常に簡単です。文字列が与えられた場合、名前が公式であるかどうかにかかわらず、真実または偽の値を出力します。 単一のタイトルケースの単語である場合、名前は「公式」です。 場合は最初の文字は(公式ではない:大文字ですadnan) 他の文字はしている場合ではない(公式ではない:大文字AdNaN) 名前にアルファベット以外の文字が含まれていない場合(非公式:Adnan123、Adnan!) 名前が1語のみで構成されている場合(公式ではありません:Adn an、Adn An) 名前は、複数の文字(公式ではないが:持っている場合A) ルール 機能またはプログラムを提供できます これはcode-golfであるため、バイト数が最小の提出が勝ちです! 注:物事を簡素化するために、この課題では、Mary-Annのような名前は公式ではありません。 名前に先頭に空白がないと仮定します。 印刷可能なASCII文字(32-126)のみが名前に使用されると仮定します テストケース Input: Adnan Output: True Input: adnan Output: False Input: AdnaN Output: False Input: Adnan123 Output: False Input: Adnan Adnan Output: False Input: A Output: False Input: Mary-Ann Output: False リーダーボード コードスニペットを表示 /* Configuration …
25 code-golf  string 

7
リストをタイムテーブルに追跡する
前書き 誰かがあなたの好きなアルバムをYouTubeにアップロードしたときに嫌いではないのですが、説明にはトラックリストのみが含まれていますか?このような: 1. Everything in Its Right Place - 4:11 2. Kid A - 4:44 3. The National Anthem - 5:50 4. How to Disappear Completely - 5:55 5. Treefingers - 3:42 6. Optimistic - 5:16 7. In Limbo - 3:31 8. Idioteque - 5:09 9. Morning Bell - 4:29 …
25 code-golf  string  date 

12
FizzBu​​zz風の文字列マッチャー
次のような文字列があるとしましょう: abaabbbbbaabba 指定した文字が入力文字列に表示される回数をカウントしますが、その文字が連続して表示されるのは1回のみです。たとえば、文字がの場合a、 abaabbbbbaabba ^ x x ^ 合計は2になります(が2回連続しaaてa表示されるため、「s」はカウントされません)。 これはFizzBu​​zzとどのように関連していますか? 文字が連続して3回(または3の倍数)、または連続して5回(または5の倍数)出現する場合、代わりにカウンターがデクリメントされます。3 回と 5回の両方の倍数である場合、カウンターはまだインクリメントされます。文字が1行に1回しか表示されない場合もカウンターがインクリメントされ、文字が他の行に何度も表示される場合は無視されることに注意してください(上記の状況を除く)。 要約すると、一致する文字列がの場合a、 input counter (explanation) a 1 (single occurence) aaa -1(multiple of 3) aaaaa -1(multiple of 5) aaaaaaaaaaaaaaa 1 (multiple of 15) aa 0 (none of the above) aba 2 (two single instances) aaba 1 (one single occurence(+1) …
25 code-golf  string 

12
絵文字の表情認識
絵文字を入力として受け入れ、絵文字が幸せか悲しいかを出力するプログラムを作成します。 プログラムは文字列を入力またはパラメータとして受け入れ、入力が幸せな絵文字リストにある場合は文字列「happy」を表示し、入力が悲しい顔文字リストにある場合は「悲しい」を表示する必要があります。 入力は常に有効な(幸せまたは悲しい)絵文字であり、スペースやタブはありません。 以下は、スペースで区切られた幸せな顔文字のリストです。 :-) :) :D :o) :] :3 :c) :> =] 8) =) :} :^) :-D 8-D 8D x-D xD X-D XD =-D =D =-3 =3 B^D (-: (: (o: [: <: [= (8 (= {: (^: 悲しい顔文字のスペース区切りリストは次のとおりです。 >:[ :-( :( :-c :c :-< :< :-[ :[ :{ …
25 code-golf  string 

21
月曜日のミニゴルフ#2:長いテキストの切り捨て
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフチャレンジ。 多くのWebアプリケーション(特にソーシャルメディア)は、長いテキストの一部を自動的に切り捨てて、アプリの書式に収まるようにします。この課題では、テキストのパッセージを特定の長さに自動的にトリミングするアルゴリズムを作成します。 チャレンジ チャレンジの目標は、2つの引数を取るプログラムまたは関数を作成することです。 T、切り捨てるテキスト。 L、返される最大長。 そして、次のロジックで切り捨てられたTを返します。 Tの長さがL以下の場合、切り捨ては不要です。元の文字列を返します。 Tを長さL -2に切り捨てます。これにスペースまたはハイフンが含まれていない場合、Tを正確にL -3文字に切り捨てて、その後に省略記号を続けて返し...ます。 それ以外の場合は、結果の末尾を最後のスペースまたはハイフンまでトリミングします。省略記号...を追加して、結果を返します。 詳細 TおよびLは、任意の順序で任意の形式で使用できます。 3 < L <2 31と仮定できます。 U + 2026 Horizo​​ntal Ellipsisは使用できません…。3つのピリオドを使用する必要があります。 入力はスペースまたはハイフンで始まりません。 入力には、通常のスペース以外の空白は含まれません。(タブ、改行などはありません) テストケース 入力: "This is some very long text." 25 "This-is-some-long-hyphen-separated-text." 33 "Programming Puzzles & Code Golf is a question and answer site for programming …
25 code-golf  string 

12
あなたの仲間はどこに座りますか?
あなたと何人かの仲間はボウリングをしています。合計N個のボウラーがいます。ただし、座れるのはN -1の椅子のみです。解決策は簡単です。その後、順番が終わると、次に行く人の椅子に座ります。 例を見てみましょう。あなたの名前はAで、4人の友人の名前はB、C、D、Eであるとします。すべてのプレーヤーはアルファベット順に移動するため、最初に移動します。5人のプレイヤーがいるので、4席のみです。友人は次の順序で4つの席に座っています。 CEBD あなたが行って、いや、ストライキをする!それはだBあなたが彼の椅子に座っているので、次のターン。これは次のようになります。 CEAD Bが行く。ガターボール!その後、彼はCのスポットに座り、Cは次のターンに進みます。 ビーズ その後、Cはに座っているDさんの椅子。 BEAC そしてDはに座っているEさんの椅子 BDAC そして最後に、Eはあなたの椅子に座っています。 BDEC 皆さんの席が(擬似)シャッフルされていることに気付くでしょう。Xが回った後、誰がどこに座っているのかを知る必要がありますか? 入力 プログラムは、ユーザーからの2つの入力、文字列と数値を受け取る必要があります。プロンプトは必要ありません。文字列は1〜51文字のアルファベット文字(BZとaz)で、繰り返しはありません。これは、友達が座ることを選んだ順序を表します。大文字のAはありません。大文字であるため、常に最初に移動します。数は、あなたとあなたの友人がプレイするラウンド(ゲームではない)の合計数になります。この数は正で、適切なサイズ(1000未満)になります。 出力 あなたのプログラムは、Xターン後に友人が座っている順番と、誰の順番かを印刷する必要があります。したがって、たとえば、Xがターンした後に注文がBEDGCAHFであり、それがZのターンであった場合、プログラムはこれを正確に印刷する必要があります。 BEDGCAHF It is Z's turn. 次に、入力と出力のサンプルをいくつか示します。 input: E, 4 E It is A's turn. input: E, 5 A It is E's turn. input: Bb, 2 AB It is b's turn. input: …
25 code-golf  string 

7
基本的なPythのような構文チェッカー
Pythは、Pythonに基づいたゴルフ言語です。プレフィックス表記を使用し、各コマンドは異なるアリティ(受け入れる引数の数)を持ちます。 あなたの仕事は、(存在しない)Pythライクな言語Pithの構文チェッカーを書くことです。 髄の構文 Pithには8つの単一文字コマンドしかありません。 01234()" 01234それぞれが対応する数のアリティを持っているため、その後に多くの引数が必要です。例えば、 400010 正しい髄プログラムがあるためである4四つの引数が続いている0 0 0と10されたのは、最後の1単一の引数が続きます0。これを視覚化するために、次のツリーを見ることができます。 R | 4 | ------------- | | | | 0 0 0 1 | 0 どこRがルートノードです。これについて考える別の方法は、各数値が、対応するノードが上のツリーに持つ子の数を指すということです。 次に、複数のベースコマンドを使用した別の有効なPithプログラムを示します。 210010 対応する R | ------------- | | 2 1 | | --------- 0 | | 1 0 | 0 一方、 3120102100 イニシャルには2つの引数しかないため、正しいPithプログラムではありません。3次のツリーを見るとわかります。 R …

3
この無限の文字列の実行はどこにありますか?(CCCCCCが見つかりました!)
文字列から始めて、ABC最後の半分を繰り返し自分自身に追加した結果を考慮します(長さが奇数の場合は大きい半分を使用します)。 進行状況を取得します。 ABC ABCBC ABCBCCBC ABCBCCBCCCBC ABCBCCBCCCBCBCCCBC etc... Sこの手順が永遠に繰り返される結果として生じる無限の文字列(またはシーケンス)を表現しましょう。 ゴール このコードの挑戦目標は、の実行が最初に出現する位置のインデックスを見つけることですCでs」をS。 最初は簡単です:C最初のインデックスで発生した2、CCで4、CCCで7、CCCCで26はなく、CCCCCインデックスにすべての方法です27308!その後、私の記憶がなくなります。 勝者は、ほとんどの実行インデックスを(順に、順番にC)正しく生成する提出物になります。あらゆる種類のアルゴリズムを使用できますが、基本的なブルートフォースを使用していない場合は、必ず説明してください。入力と出力は、理解しやすい任意の形式にすることができます。 重要な注意:のSすべての実行が実際に含まれているかどうかは公式にはわかりませんC。この質問は、作者も見つけられなかった数学スタック交換に関するこの質問から派生していCCCCCCます。ここの誰かができるかどうか興味があります。(その質問は、トピックに関する私の元の質問に基づいています。) すべての実行がC発生するわけではないことを証明できる場合S、この質問は無効になるため、自動的に勝ちます。誰もCCCCCCそれを証明も発見もできない場合、勝者はインデックスの最高下限CCCCCC(または未解決の最大のランCCCCCCが見つかった場合)を得ることができる人になります。 更新:天文インデックス2.124 * 10 ^ 519で見つかったisaacgとresへの名誉ある賞賛CCCCCC。このレートCCCCCCCでは、ブルートフォースに依存する方法で見つけることは想像できません。お疲れ様でした!

13
これは何のROTですか?-ROT-nの復号化
以下に、頻度の高い順に英語のアルファベットの文字を示します。 e t a o i n s h r d l c u m w f g y p b v k j x q z つまりe、最も頻繁に使用される文字でありz、最も一般的ではありません。(ウィキペディアからのデータ。) あなたの課題は、次のようないくつかのROT-n'dテキストを取得することです。 ocdndnvqzmtnzxmzohznnvbzocvodnqzmtnzxpmzviynvaz これは、ROT-21(42の半分)を介して「暗号化」されたテキスト「thisisaverysecretmessage thatvery secure and safe」です。プログラムは、上記の頻度表を使用して、各文字がどれだけ回転したかと元のテキストによって判断できるはずです。 (ROT-nに慣れていない場合は、基本的に各文字をn。でシフトします。たとえば、ROT-2では、a -> c, b -> d, ..., x -> z, y -> a, z -> …

21
ジミーの多様性のシーン
おそらくご存知のように、最近、ジミーの素敵なチャレンジが何度も登場しています 。これらの課題では、最愛の友人のアクロバットスキルに挑戦しました。今、私たちはあなたのために異なる挑戦をしました。今日は、さまざまなタイプのジミーを識別します! 説明 ジミーには、ドワーフ、アクロバット、ボディービルダーの3種類があります。 This is dwarf Jimmy: o This is acrobat Jimmy: /o\ This is bodybuilder Jimmy: /-o-\ これらのジミーはすべて素晴らしい友人であり、彼らはお互いに同じ立場に立っているのが好きです。あなたの仕事は、次のようなジミーのシーンが与えられた場合です: o /o\ o /-o-\/-o-\ o /o\ ライン上のドワーフ、アクロバット、およびボディービルダーの量をそれぞれ出力します。 チャレンジ 上記の例に示すように、Jimmyシーンとして合理的な形式で入力してください。 入力文字列は1行で、オプションで3種類のJimmysとオプションの空白を含める必要があります。 文字列には、必ずしもすべてのジミーの種類または空白が含まれるわけではありません。 文字列にはにない文字は含まれませんo/\ -。 ジミー品種の任意の組み合わせが可能です。これは、同じタイプまたは異なるタイプのジミーが隣り合うことができることを意味します。それを説明する必要があります。 先頭および末尾の空白はオプションであり、決して必要ではありません。プログラムでは、先頭および/または末尾の空白の有無にかかわらず文字列を考慮する必要があります。 文字列には、有効なJimmysと空白のみを含める必要があります。たとえば、---///---は、有効なジミーシーケンスではないため許可されません。 3つの数値を出力します。シーン内のドワーフ、アクロバット、ボディービルダーの数(それぞれの順序で)。 これは、スペースで区切られた整数としてコンソールに出力される場合もあれば、何らかのコンテナ(つまり、配列型)としての関数からの戻り値になる場合もあります。 出力は、どのような形式でも、この規則の上の一番上の箇条書きで述べられているように順序付けする必要があります。 標準のルールと抜け穴が適用されます。 テストケース /-o-\ /-o-\ o/o\ /-o-\ /-o-\ /-o-\ OUTPUT: 1 1 …

1
オートバッチゴルファー
整数以外のサポートがないにもかかわらず、機能的なコマンドが驚くほど不足しているにもかかわらず、私はBATCHが大好きです。どうして?これが機能するため: SET var=SET %var% i=0 これは次のように評価されます。 SET var=SET SET i=0 素晴らしいですね。バイトを節約するため、この手法をBATCHプログラムで使用したことがあります。 あなたの挑戦は、もしあなたがそれを受け入れるなら、この方法でBATCHプログラムを「ゴルフ」することです。プログラムのSET一部に評価されるステートメントを含めることにより、入力BATCHプログラムのバイトサイズを減らし、他の方法でプログラムを変更することはできません。(たとえば、変数名をより短い名前に変更することはできません。変数の横にあるBATCHは大文字と小文字を区別しないことに注意してください。)スコアは次のように計算されます。 score = # of characters in your program + 5*(net result bytes in test cases below) 私は、テストケース用にプログラムを最適化する作業を阻止するために、テストケースを追加する権利を留保します。 この挑戦のために、あなたのSET文は、制御文字(含めることはできません|、<、>、%)または改行を。setステートメント内でコードの一部を移動する以外にコードを変更することはできません。(されていることを、あなたは交換してください、不要な空白を削除しないことEQUを==私たちは、行がで終わっていると仮定します、など)\n。 テストケース 各テストケースは個別のコードブロックにあり、各テストケースは自己完結型です。つまり、その中に与えられた内容のみを想定してゴルフを行う必要があります。(SET d=SETつまり、あるプログラムを使用している場合、そのステートメントは他のプログラムに自動的に与えられません)。各テストケースの後に、各例の結果があります。テストケースの間には行があります。 @ECHO OFF SETインクリメント= 10 :ループ IF%increment%EQU 0 GOTO end ECHO%increment% SET / A%increment%-= 1 GOTOループ :終わり 出口 …
25 string  metagolf 

25
マジックポップカウント数
32ビット符号なし整数のセットビット数をカウントする有名なトリッキーなアルゴリズムがあります。 int popcount(unsigned x) { x = (x & 0x55555555) + ((x >> 1) & 0x55555555); x = (x & 0x33333333) + ((x >> 2) & 0x33333333); x = (x & 0x0F0F0F0F) + ((x >> 4) & 0x0F0F0F0F); x = (x & 0x00FF00FF) + ((x >> 8) & 0x00FF00FF); x …

4
感謝していません!…またはそれは?
前書き ストリートトークは、特にプログラマーにとっては理解するのが非常に難しい場合があります。 私たち全員が都市環境で生き残るのを助ける通訳を作成するのはあなたの仕事です。 チャレンジ 入力として英語の文を指定して、文の結果が正か負かを決定するプログラムまたは関数を作成します。 文には否定的な単語が含ま0れ2ます。プログラマなら誰でも知っているように、二重の負は正になります。したがって、コードは、次の規則に従って、true / falsey値を出力または返す必要があります。 No negative words -> truthy One negative word -> falsey Two negative words -> truthy 否定的な単語のリスト: no、not、none で終わるもの n't never、neither、nor nobody、nothing、nowhere エッジケースが1つあります。文がで始まるときはいつでも、No,結果を決定するときにその単語は否定的な単語として扱われません(否定的な単語の数にカウントされるので、もう1つだけあります)。 文は基本的な文法規則(大文字、句読点)に従い、辞書から検索できる単語のみを含みます(幸いなことに、これは質問のタイトルを無効にしません)。この文には固有名詞は含まれません(申し訳ありませんが、Dr。いいえ、あなたは外出しています)。 テストケース 真実: Yes. It's noon. Hello, World! What is this? Ain't no thang! Never say never. No, it's noon …

21
これを何回押すべきですか?
私たちは皆、昔ながらの電話キーパッドに慣れていますよね?参考までに、次のようになります。 小文字のASCII文字と単一のスペースのみで構成される文字列を考えると、あなたの仕事は、上記のように電話のキーパッドで文字列全体を入力するために必要なタップ数を返すことです。 これに不慣れな方のために、以下にその仕組みを示します。 2たとえば、数字が付いたキーには、文字列もabc書き込まれています。を入力するにはa、このキーを1回b押すc必要があります。2回押す必要があり、3回押す必要があります。 同じキーにある連続した文字の場合、もう一度押す前に1秒待つ必要があります。したがって、を入力する場合はcb、を3回押してc、1秒待ってから、を2回押しbて5タップする必要があります。 同じことが他のすべてのキーにも当てはまりますが、1回押すだけでよい1 つのスペースを除きます。また、キー7に9は4つの文字があります。同じアルゴリズムが適用され、唯一の違いは文字数です。各キーに対応する文字列は、上の画像(ただし小文字)、または受信する可能性のあるすべての文字を含む次のリストにあります。 "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " " テストケース 入力->出力(説明) ""-> 0(何もタップしないでください) "water"-> 8( "w、a、t"はそれぞれ1タップ(キー9、2および8)、 "e"は2タップ(キー3)、 "r"は3タップ(キー7) )、1 + 1 + 1 + 2 + 3 = 8) 「石鹸」-> 9(4 + 3 + 1 + 1) 「カンデラ」-> 13(3 + 1 + …

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