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

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

30
ねじれた言葉!
ねじれた言葉! 文字列と正の整数を指定します。ひもを前後にねじる必要があります。 入力/出力の例 入力 Programming Puzzles & Code Golf 4 出力 Prog mmar ing zzuP les oC & de G flo 入力 入力は、STDIN、または関数引数を介して取り込むことができます。入力は、文字列と正の整数nで構成されます。整数は、各ツイスト線の長さを決定します。 弦は前後にねじれています。HELLO, WORLD!と5 の入力は次のようになります。 出力 出力は、ねじれたテキストになります。末尾の空白は使用できません。入力文字列の長さが行の長さで割り切れない場合、行がいっぱいになるまでスペースを追加します。 この例: 入力 Hello, World! 5 出力(最後の空白に注意してください) Hello roW , ld!
34 code-golf  string 

30
入力の各単語の最初の文字を大文字にする
これは比較的簡単な方法ですが、きっと気に入っていただけると思います。 Codegolfは、文の形式で入力を取得し、各単語の最初の文字を大文字にして出力を提供するプログラムです。 ルール: 提出は、関数の形式ではない場合があります。だからいいえ: function x(y){z=some_kind_of_magic(y);return z;} 最終的な答えとして...コードは、入力を受け取り、出力を提供することを示す必要があります。 コードは、入力に含まれる他の大文字を保持する必要があります。そう eCommerce and eBusiness are cool, don't you agree, Richard III? としてレンダリングされます ECommerce And EBusiness Are Cool, Don't You Agree, Richard III? 「簡単、正規表現を使用するだけです!」選択したゴルフ言語でネイティブの正規表現を使用すると、30文字のペナルティが発生し、最終的なコードカウントに適用されます。悪魔のような笑い この場合の「単語」は、スペースで区切られたものです。したがってpalate cleanser、2語ですが、pigeon-toed1語と見なされます。if_you_love_her_then_you_should_put_a_ring_on_it1つの単語と見なされます。単語がアルファベット以外の文字で始まる場合、単語は保持されるため_this、レンダリング後はのままになり_thisます。(このテストケースを指摘してくれたMartin Buttnerに感謝します)。 4b。入力フレーズ内の単語が単一のスペースで区切られる保証はありません。 テストケース(コードのテストに使用してください): 入力: eCommerce rocks. crazyCamelCase stuff. _those pigeon-toed shennanigans. Fiery trailblazing 345 thirty-two Roger. The …

30
インターレース文字列
あなたの課題は、同じ長さの2つの文字列が与えられたときに、他のすべての文字をスワップし、結果の文字列をいずれかの順序で出力/返すプログラムまたは関数を書くことです。 例 "Hello," "world!" --> "Hollo!" "werld," "code" "golf" --> "codf" "gole" "happy" "angry" --> "hnpry" "aagpy" "qwerty" "dvorak" --> "qvertk" "dworay" "1, 2, 3" "a, b, c" --> "1, b, 3" "a, 2, c" "3.141592653589" "2.718281828459" --> "3.111291623489" "2.748582858559" "DJMcMayhem" "trichoplax" --> "DrMcMoylex" "tJichapham" "Doorknob" "Downgoat" --> "Doonkoot" "Dowrgnab" …
34 code-golf  string 

9
「ソート」アルゴリズム
スターリンソートとも呼ばれる「ソートアルゴリズム」があり、リストをソートするには、リストが昇順にソートされるまでリストから要素を削除するだけです。たとえば、リスト [1, 2, 4, 5, 3, 6, 6] スターリンの並べ替えを使用して「並べ替え」が行われる場合 [1, 2, 4, 5, 6, 6] 3つは故障していたため削除されました。 当然、要素を削除してリストをソートする方法はたくさんあります。たとえば、要素が2つ未満のリストは並べ替える必要があります。そのため、盲目的に十分な要素を削除するだけで、常にリストを並べ替えることができます。これが事実であるため、スターリンの並べ替えから可能な限り長い結果のみを考慮します。 あなたの仕事は、正の整数のリストを取得し、元のリストから要素を削除することで到達できる最長のソートされた(増加する)リストの長さを出力することです。それは、最長のソートされた(おそらく不連続な)サブリストの長さを見つけることです。 ソートされたリストは、同じ要素を連続して複数回持つことができます。プログラム自体が空でない限り、空のリストをサポートする必要はありません。 得点 あなたの答えは、スターリンの可能な限り最長のソートの長さによって採点されます。プログラムは文字ではなくバイトのシーケンスとして解釈され、その順序はバイトを数字として解釈することによって生じる自然な順序になります。スコアが低いほど優れています。 これはコードゴルフではありません ここだきちんと-Oツール、あなたの答えを得点を支援します。 テストケース [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

24
数値を2の累乗に分割できますか?
昨日、子供と遊んでいる間に、彼のおもちゃの列車の番号に気付きました。 持っている私たちは、だから、428142814281に分割することができます4−2−8−14−2−8−14-2-8-1または22−21−23−2022−21−23−202^2-2^1-2^3-2^0 とても簡単な挑戦:入力として負でない数が与えられると、数の文字列表現(10を基にし、先行ゼロなし)を何らかの方法で2のべき乗に分割できるかどうかを表す一貫した真実と偽の値を返します。 例: 4281 truthy (4-2-8-1) 164 truthy (16-4 or 1-64) 8192 truthy (the number itself is a power of 2) 81024 truthy (8-1024 or 8-1-02-4) 101 truthy (1-01) 0 falsey (0 cannot be represented as 2^x for any x) 1 truthy 3 falsey 234789 falsey 256323 falsey (we …

21
最長の非繰り返し部分文字列
入力として文字列を指定すると、2回以上文字を持たない最長の連続部分文字列を見つけます。そのような部分文字列が複数ある場合は、どちらかを出力できます。必要に応じて、入力が印刷可能なASCII範囲にあると想定できます。 得点 回答は、最初に独自の最長の非繰り返し部分文字列の長さによってランク付けされ、次にその合計長さによってランク付けされます。両方の基準でスコアが低いほど優れています。言語によっては、これはおそらくソース制限のあるコードゴルフの挑戦のように感じるでしょう。 自明 1、x(言語)または2のスコアを達成する一部の言語では、x(Brain-flakおよびその他のチューリングターピット)は非常に簡単ですが、最長の非繰り返し部分文字列を最小化することが課題となる他の言語もあります。Haskellで2点を獲得するのはとても楽しかったので、このタスクが楽しい言語を探すことをお勧めします。 テストケース "Good morning, Green orb!" -> "ing, Gre" "fffffffffff" -> "f" "oiiiiioiiii" -> "io", "oi" "1234567890" -> "1234567890" "11122324455" -> "324" 得点提出 次のスニペットを使用してプログラムを採点できます。 コードスニペットを表示 input.addEventListener("input", change); // note: intentionally verbose :) function isUnique(str) { var maxCount = 0; var counts = {}; for(var i = …

30
Flippign Lettesr Aroudn
チャットでは、私たちは多くの場合タイプが速いため、メッセージを投稿する前に文字の順序を実際に見ません。怠け者なので、単語の最後の2文字を自動的に交換するプログラムが必要ですが、遅すぎる応答を望まないため、コードは短くなければなりません。 あなたはそれを受け入れることを希望する場合はあなたの仕事は、与えられた文字列内の各単語の最後の2つの文字(ワードので、反転するプログラム書くことであるThanskにターンThanks)。言葉はで区切られた英語のアルファベットで二つ以上の文字の配列である単一のスペース。 文字列/リストの文字入力のみアルファベット文字とスペース(ASCII [97から122]、[65から90]および32)を含むことが保証されるよう、あなたは受け取ります。 これらの抜け穴はデフォルトでは禁止されていることに注意しながら、任意のプログラミング言語で、任意の標準的な方法で入力を取得し、出力を提供できます。 出力には、末尾にスペースが1つと、末尾に改行が1つある場合があります。 入力には常に単語(および対応する空白)のみが含まれ、少なくとも1つの単語で構成されます。 これはコードゴルフなので、各言語での最短の提出(バイト単位)が勝ちです! テストケース 文字列は読みやすくするために引用符で囲まれていることに注意してください。 入力->出力 「ありがとう」->「ありがとう」 「あなたのウェルカム」->「どういたしまして」 「これはリンゴです」->「Thsi si na appel」 「Flippign Lettesr Aroudn」->「Flipping Letters Around」 「スワップレットを使用したチャレンジ」->「スワップされたレターを使用したチャレンジ」 または、テストスイートの利便性のために、入力とそれに対応する出力を個別に示します。 ありがとう あなたのウェルカム これはリンゴです Flippign Lettesr Aroudn スワップレットを使用したチャレンジ ありがとう どういたしまして このsi app 手紙をめくる 交換されたレターを使用したチャレンジチャレンジ タイトルをくれたDJMcMayhemに感謝します。これはもともとCMCでした。
33 code-golf  string 

28
強い言葉ですか?
彼らはそれhateが強い言葉だと言います。その理由を知りたかったので、この言葉をよく見てみました。 すべての子音の後に母音が付いていることに気付きました。それは私にとって非常に強く見えたので、私はそれが言葉を強くするものだと決めました。 もっと強い言葉を見つけたいので、そのためのプログラムが必要です! 強い言葉を見つける 強い単語とは、すべての子音(セット内の文字BCDFGHJKLMNPQRSTVWXZ)の後に母音(セット内の文字)が続く単語AEIOUYです。それでおしまい。他には何も関係ありません。 単語が母音で始まる場合、最初の子音の前の文字について心配する必要はありません。単語に子音がまったく含まれていない場合、自動的に強力な単語になります。 強い単語の例はagate、hateおよびyouです。agate母音で始まりますが、すべての子音の後に母音が続くため、まだ強力な単語です。you子音がないため、強い言葉です。 強い単語の長さに制限はありません。 チャレンジ 入力として空でない文字列を受け取り、それが強い単語であれば真理値を出力し、そうでなければ偽値を出力するプログラムまたは関数を作成します。 明確化 入力は小文字または大文字のどちらで入力するかを決定できます。回答でどれを指定してください。 単語には、いかなる種類の句読点も含まれません。セットにはプレーンな文字のみが含まれABCDEFGHIJKLMNOPQRSTUVWXYZます。 真実の値と偽の値の代わりに、2つの異なる一貫した値を選択して、trueとfalseを返します。これを行う場合は、回答で選択した値を指定します。 あるいは、強い単語に対しては偽の値を出力し、非強い単語に対しては真実の値を出力することができます。 テストケース Input -> Output hate -> true love -> true popularize -> true academy -> true you -> true mouse -> true acorn -> false nut -> false ah -> false strong -> false false …

30
指定されたインデックスの文字を削除
(指定されたインデックスの文字列の要素に強く触発された) のインデックスを表す文字列sと整数nを指定すると、-th位置の文字が削除されてs出力されます。sn 0インデックスと1インデックスが許可されます。 0インデックスの場合、n負ではなく、の長さより小さくなりsます。 1-indexingの場合、n正で、の長さ以下になりsます。 s印刷可能なASCII文字のみで構成されます(\x20-\x7E、または から~)。 合理的な入力/出力が許可されます。標準の抜け穴が適用されます。 テストケース(0から始まる): n s output 0 "abcde" "bcde" 1 "abcde" "acde" 2 "a != b" "a = b" 3 "+-*/" "+-*" 4 "1234.5" "12345" 3 "314151" "31451" テストケース(1-indexed): n s output 1 "abcde" "bcde" 2 "abcde" "acde" 3 "a != b" "a = …
33 code-golf  string 

13
お誕生日おめでとう、ラファエル・チェッコ!
ラファエル・セコは生産プログラマであるいくつかの最高のためのビデオゲームをZXスペクトラム 80年代後半には、コンピュータ。とりわけ、彼は高い評価を得ているCyber​​noidとExolonを開発しました。 Raffaeleは2017年5月10日に50歳になります。私たちの多くがこれらの素晴らしいゲームをプレイして過ごした幸せな時間と、彼らがもたらしたモチベーションのために、この挑戦​​は彼への小さな敬意です。 チャレンジ 目的は、Cyber​​noidのメインメニュー画面に見られるものに触発されたが、ASCIIアートで長方形のマーキーを作成することです。 具体的には"Happy birthday Raffaele Cecco "、12x5の長方形の端に沿って回転するストリング(最終スペースに注意)が表示され、スナップショットの間隔は一定です。 たとえば、テキストが時計回りに表示され、反時計回りに回転すると仮定すると(以下のオプションを参照)、長方形のマーキーの3つの連続したスナップショットがあります。 Happy birthd a o y c ceC eleaffaR それから appy birthda H y o R cceC eleaffa それから ppy birthday a H R a occeC eleaff 等々。 ルール 入力は行われません。出力は、STDOUTまたは同等のものを介して、またはグラフィカルウィンドウで行われます。 出力には、実際にテキストの回転が描かれているはずです。つまり、新しいスナップショットごとに上書きする必要があります、移動の印象を与えるために、前のする。これは、たとえば、適切な数の改行を書き込んで画面を効果的にクリアするなど、あらゆる手段で実行できます。これが特定の画面サイズに対してのみ有効である場合は許容できます。答えで指定するだけです。 次のオプションが受け入れられます。 テキストは時計回りまたは反時計回りに表示でき、時計回りまたは反時計回りに回転できます(上記のスナップショットの例では、時計回りの表示と反時計回りの回転を想定しています)。 回転は無限ループで周期的に継続し(プログラムが停止するまで)、任意のフェーズで開始できます。 スナップショット間の一時停止時間はほぼ一定である必要がありますが、0.1〜1秒の間で自由に選択できます。最初のスナップショットを表示する前の最初の一時停止は許容されます。 文字は、大文字、小文字、または大文字と小文字を混在させることができます(上記の例のように)。 先頭または末尾の空白スペースが許可されます。 プログラムまたは機能にはいずれにも、許可されているプログラミング言語。標準的な抜け穴は禁止されています。 可能であれば、出力を示すgifファイル、またはプログラムをテストするためのリンクを提供してください。 バイト単位の最短コードが優先されます。

13
最適なパターンを見つける
以下のような小文字で構成される文字列sが与えられた場合 aabaaababbbbaaba およびなどの正の整数nは4、長さnの文字列tを出力します。これにより、tがsの長さまで繰り返されたときに、できるだけ多くの共通文字を持ちます。与えられた例の場合、最適な出力はaaba、ターゲット文字列と共通の13文字を持っているため、です。 s: aabaaababbbbaaba t: aabaaabaaabaaaba (aaba) ^^^^^^^^ ^ ^^^^ 可能なtはそれ以上ありません。ただし、にはaaaaaab、2つの出力があります。aaaaおよびaabaには、ターゲット文字列と共通の6文字があります。 s: aaaaaab t: aaaaaaaa (aaaa) ^^^^^^ s: aaaaaab t: aabaaaba (aaba) ^^ ^^^^ どちらaaaaかaaba、または出力可能、または必要に応じて両方を出力できます。sは繰り返されないことに注意してください。tのa両方の繰り返される値の末尾は単に無視されます。 テストケース Inputs -> Valid outputs 1 a -> a 1 aa -> a 2 aa -> aa 1 ab -> a b 2 ab …
33 code-golf  string 

24
非重複文字列
前書き 次の文字列を観察してみましょう。 AABBCCDDEFFGG 手紙を除いて、すべての手紙が複製されていることがわかりEます。それは、手紙Eが重複していないことを意味します。したがって、ここで行う必要があるのは、そのプロセスを逆にすることだけです。これにより、次の重複のない文字列が得られます。 AABBCCDDEEFFGG もっと難しい例を見てみましょう。 AAAABBBCCCCDD 連続したBの数が不均一であることがわかりBBます。つまり、元の文字列の1つが重複していないことを意味します。この手紙の重複を取り消すだけで、次のことができます。 AAAABBBBCCCCDD チャレンジ 空でない所与の重複除外で構成される文字列、英字のみ(どちらかのみ大文字または小文字のみ)、戻り非重複除外文字列。文字列には少なくとも1つの重複排除された文字が常に存在すると想定できます。 テストケース AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD HEY --> HHEEYY AAAAAAA --> AAAAAAAA N --> NN OOQQO --> OOQQOO ABBB --> AABBBB ABBA --> AABBAA これはcode-golfであるため、バイト単位の最短の有効な送信が優先されます!
33 code-golf  string 

21
キーストロークをシミュレートする
あなたの仕事は、ユーザーが入力するいくつかのキーストロークをシミュレートすることです。 入力 少なくとも1つの「キーストローク」を含む、選択した区切り文字(範囲32〜126以外)を持つ文字列配列または文字列。 この配列には、パッシブキーストローク(単一の文字)とコマンド(括弧内の文字)の2種類の文字列のみが含まれます[ ]。 パッシブキーストローク ASCII文字コード [32-126] コマンド: [B] :バックスペース(最後に追加された文字がある場合は削除します) [C] :すでに書き込まれたものをすべてコピーします [D] :書き込まれた内容をすべて削除します [P] :コピーされたものを貼り付ける 出力 キーストロークによって生成される文字列。 例 ['H', 'e', 'l', 'l', 'o'] -> 'Hello' ['H', 'e', 'l', 'l', 'o', ' ', '[C]', '[P]'] -> 'Hello Hello ' ['[D]', 'D', '[B]'] -> '' ['H', '[C]', 'i', '[P]', '[C]', …
33 code-golf  string 

5
角かっこを作る
すべてのプログラマーは、括弧[]{}()<>が本当に楽しいことを知っています。この楽しさを悪化させるために、織り込まれたブラケットのグループをキュートでファジーな図に変換できます。 のように、バランスの取れた括弧を含む文字列があるとしましょう[{][<(]})>(())。ステップ1は、弦を時計回りに45度回転させることです。(Mathematicaでは、これはほとんどでできますRotate[ur_string,-pi/4])。最初のステップの結果は次のとおりです。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、各文字の間に斜めのスペースを追加します。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、一番左のブラケットから始めて、ブラケットと犯罪のパートナーとの間に四角形を描きます。 +---+ | | | { | | | +---+ [ < ( ] } ) > ( ( …

30
文字列を伸縮させるプログラムを書く
タイトルにある素敵な動詞。 入力文字列を指定したプログラムを作成し、この文字列を「弾性化」して結果を出力します。文字列の伸縮は、次のように行われます。 最初の文字は一度表示されます。2番目の文字は2回表示されます。3番目の文字が3回表示されます。 ご覧のとおり、特定の文字の重複の量は、文字列での以前の出現とは対照的に、文字のインデックスに関連しています。 印刷可能なASCII文字のみを受け取ることができます。次のリンクに基づいて、これらの文字には10進数値32-126があります。 例: Why: Whhyyy SKype: SKKyyyppppeeeee LobbY: LoobbbbbbbYYYYY (最初のbが3回表示され、2番目のbが4回表示され、合計7つのbになるため、7つのbがあることに注意してください)。 A and B: A aaannnnddddd BBBBBBB 最短バイトが勝ちます:)
33 code-golf  string 

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