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

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

6
最短の共通スーパーストリング
文字列のリストが与えられると、それぞれを部分文字列として含むs_0, s_1, ..., s_n最も短い文字列を見つけます。Ss_0, s_1, ..., s_n 例: S('LOREM', 'DOLOR', 'SED', 'DO', 'MAGNA', 'AD', 'DOLORE')='SEDOLOREMAGNAD' S('ABCDE', 'BCD', 'C')='ABCDE' この問題を解決する最短のプログラム(または関数)を作成します。必要に応じて、文字列を配列または文字/整数のリストとして表すことができます。標準ライブラリは問題ありません。入出力には、STDIN / STDOUT、ユーザープロンプト、関数のパラメーター/戻り値など、より便利なものを使用できます。 パフォーマンスは重要ではありません-たとえば、全長が100文字未満の入力の場合、平均的な最新のハードウェアでは結果を10秒以内に計算する必要があるとしましょう。
26 code-golf  string 

14
私の映画はどれほどイライラしますか?
両親はホームシアターデバイスを持っています。リモートが壊れているため、メニュー内を右にナビゲートするのが非常に難しくなります。ほとんどの場合は動作しませんが、動作すると非常に速く右に移動します。 これは明らかにイライラしますが、次のようなキーボードの操作が必要な映画のタイトルを入力する場合は、最もイライラします。 a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 あなたの仕事は、入力として映画のタイトルを取得し、その映画のタイトルを入力することの「イライラ」を計算することです。特定の文字列のフラストレーション数は、その前の文字から右に移動する必要がある文字の数です。それらがどれだけ正しいかは気にしません。なぜなら、右に移動し始めるとすぐに行の終わりに移動するからです。また、上、下、左への移動は簡単なので気にしません。 たとえば、入力したい場合 keyboard k無料で始めます。 e上にあるkので、正しく移動する必要はありません。 y ずっと左にあるので、右に移動する必要はありません。 b ただし、右の次の列にあるので、それに到達するには右に移動する必要があります。 o 次の列にありますので、右に移動しなければなりません。 a …
25 code-golf  string 

16
怪しげに幸せなレニーの顔の暴徒を作る(͡°͜ʖ͡°)
私はRedditの奇妙なスレッドを通り抜けていましたが、これに遭遇しました: (͡°(͡°͜ʖ(͡°͜ʖ͡°)ʖ͡°)͡°) やや不審に笑っている人々のグループを表している。 (ただし、以下の課題では、課題の作成中に右目左のスペースが何らかの形で削除されました。仕様に注意してください)。 あなたの目標はn、次のルールで笑顔のレニーの顔のグループを作成することです。 深さ1では、顔全体(( ͡° ͜ʖ ͡°))が表示されます。 深さ2では、半分の面が表示されます。左側には、顔の半分を少し上回ります(( ͡° ͜ʖ)。ただし、右側には右側が表示され、口は省略されています(ʖ ͡°)) どれより深く、そして唯一の頭と目の側面が示され(されている( ͡°と͡°)。頭の目と左側の間にスペースはありませんが、外見にもかかわらず、そこにある、右側にはスペース。間隔が原因で͡どの文字物事を少し混乱させる。 入力: n、表示する顔の深さのレイヤー数を示します。 nは常に範囲内にあります0 <= n <= 500。この範囲外のものを処理する必要はありません。 n0が面を持たない代わりに1つの面を意味するように、1でオフセットすることができます。ただし、-1を処理する必要があります。 出力: 文字列、文字配列、またはリモートで比較可能なもの(Python / Javascriptの1文字の文字列のリストなど)。直接印刷することもできます。末尾の空白は問題ありません。 完全なプログラムまたは機能を送信できます。 どのキャラクターが関係しているかを見るのは難しいので、Pythonでレイアウトされています。 >> [ord(c) for c in '( ͡° ͜ʖ ͡°)'] [40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41] >> …

30
プログラマーが言うように:怠け者になろう
ストーリー 9gagからこの投稿を見ましたか?たぶん、あなたはあなた自身の文章を作る感覚を得た。しかし、その後、30分で脚本をゴルフするだけでよいことに気づき、それに時間をかける必要はありません。 提出 以下に説明するように、プログラムは入力文字列を取得し、引用符を追加して返します。標準的な抜け穴は禁止されています。行のリストとしての出力が許可されます。出力を中断しない末尾のスペースと空の行は許可されます。 入力の規則 入力には、印刷可能なASCII文字のみが含まれます。 入力にはスペースを含めることができます。言葉は彼らによって決定されます。 スペースの後に別のスペースが続かないことが保証されています。 入力がない場合や空の文字列の場合は関係ありません。 出力のルール 1つの単語が指定されている場合、プログラムは引用符で囲まれた文字列を返す必要があります。 入力文字列に2つ以上の単語がある場合、最初の入力が最初に返されますが、最初の単語は引用符で囲まれています。次に、次の行で、最初の入力を返しますが、2番目の単語を引用符で囲みます。残りの単語についても同様です。 一般に、プログラムは入力に含まれる単語と同じ数の行を返さなければなりません。 例: test -> "test" This is codegolf -> "This" is codegolf This "is" codegolf This is "codegolf" This is a significantly longer, but not the longest testcase -> "This" is a significantly longer, but not the longest …
25 code-golf  string 

25
Golf A括弧マッチングアルゴリズム
文字列が与えられますs。文字列[のsと]s が等しく、少なくとも1つあることが保証されます。ブラケットのバランスが取れていることも保証されます。文字列には他の文字を含めることもできます。 目的は、タプルのリストまたは各[および]ペアのインデックスを含むリストのリストを出力/返すことです。 注:文字列はゼロインデックスです。 例: !^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]返す必要があります [(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]またはこれと同等のもの。タプルは必要ありません。リストも使用できます。 テストケース: input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f] output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, 38), (39, 43)] input:[[][][][]][[][][][[[[(]]]]])) output:[(0, 9), (1, 2), (3, 4), …

20
形状識別プログラム
あなたの仕事は、入力の形状を識別するプログラムを作成することです。識別される形状は、次のいずれかです。 平方 正方形として識別されるためには、ソースはすべて同じ長さの行と、1行あたりの文字数と同じ行数(改行文字を除く)を持っている必要があります。オプションの末尾の改行も使用できます。 $_=' $_=" $_"' ;say 矩形 長方形として識別されるためには、ソースはすべて等しい長さの行を持っている必要がありますが、行数は行ごとの文字数と一致しません(改行文字は除外されます)。オプションの末尾の改行も使用できます。これは、水平または垂直のいずれかです。 $_= "no t a squ are ";# $_="but it is still a consistent shape!";## 三角形 三角形として識別するには、ソースは1文字で始まり、後続の各行に追加の文字(最後を含む)が1つ必要です。または、最初の行の後、後続の各行は最後まで1文字少ない必要があります。 1つだけです。 $ _= "So this "."". shape; $_="or even, this way !! " 混乱 上記のような一貫した形式に従わないものはすべて、混乱として識別される必要があります。 ルール 4つの一貫した印刷可能な値を返して、各形状を識別できます。 また、ソースコードは上記の形状のいずれかに準拠する必要があります(いや、混乱ではありません)。 ソース内の単一の末尾の改行は許容されます。 入力には空白行(末尾の改行を含む)が含まれておらず、空ではなく、改行のみで構成されていないことが想定できます。 すべての形状の高さと幅は2以上である必要があります。それ以外の場合、これは混乱として定義されます。 標準的な抜け穴は禁止されています。 各言語のバイト単位の最短ソリューションが勝ちです。

19
覚えておいてください!
入力 印刷可能なASCII文字の文字列、たとえば: This is an example string. 出力 BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz母音(AEIOUaeiou)が後に続かない子音()ごとに、その前の最後の母音を小文字で追加します。 最初の母音の前の子音はそのまま残されます: Thisi isi ana examapale seterinigi. テストケース AN EXAMPLE WITH A LOT UPPERCASE (plus some lowercase) => ANa EXAMaPaLE WITiHi A LOTo UPuPEReCASE (pelusu some lowerecase) And here comes a **TEST** case with 10% symbols/numbers(#)! => Anada here comese a **TESeTe** …
25 code-golf  string 

30
数字モザイクをデザインしましょう
チャレンジ 正の整数与えられ、NNNその各桁d1,d2,d3,⋯,dnd1,d2,d3,⋯,dnd_1, d_2, d_3, \cdots, d_nを内の位置に対応する回数繰り返しNNNます。換言すれば、各桁dkdkd_k繰り返されるべきkkk回(各1≤k≤n1≤k≤n1\le k\le n、1インデックス)こうして新たな数を作成し、: d1d2d2d3d3d3⋯dndndn⋯dnn times¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯d1d2d2d3d3d3⋯dndndn⋯dn⏟n times¯\overline{d_1d_2d_2d_3d_3d_3\cdots\underbrace{d_nd_nd_n\cdots d_n}_{n\text { times}}} 次に、水平方向と垂直方向の両方に書き留めて、空白の列インデックスと行インデックスの間の大きいインデックスに対応する数字のコピーで空白を埋めます。最終的な出力は次のようになります。 ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮]\begin{bmatrix} \color{red}{d_1} \color{green}{d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 d_3 d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 …

25
完全なペアリングの検出
関数fを持ちましょうfff文字列を受け取り、隣接する同一の文字のすべてのペアを削除をします。例えば f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba 2つのペアが重複する場合、そのうちの1つのみを削除することに注意してください。 繰り返しアプリケーションが最終的に空の文字列を生成する場合、文字列を完全にペアで呼び出します。たとえば、上の文字列は完全にペアではありません再度適用するとが得られるためです。ただし、ような文字列は完全にペアになっています 3回適用すると空の文字列が取得されるためです。f a b a e a b b c c a d d e fabbbaccabbbaccabbbaccfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff f(eabbccadde)=eaaef(eabbccadde)=eaaef(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae f(eaae)=eef(eaae)=eef(e\color{red}{aa}e) = ee f(ee)=f(ee)=f(\color{red}{ee}) = あなたの仕事は、(印刷可能なASCIIの)文字列を受け取り、それが完全にペアリングされているかどうかを判断する、完全にペアリングされたコンピューターコードを記述することです。 ソースのバイト文字列はそれ自体が完全にペアの文字列である必要がありますが、コードは必ずしも印刷可能なASCIIに制限する必要はありません。 2つの異なる値を出力できます。1つは入力が完全にペアリングされている場合、もう1つはペアリングされていない場合です。 これはコードとゴルフの質問であるため、回答はソースのバイト数でスコア付けされ、バイト数は少ない方が良いでしょう。 テストケース abbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc \rightarrow \mathrm{False}\\ abcba \rightarrow \mathrm{False}\\ abab \rightarrow \mathrm{False}\\ abbbaabacc \rightarrow \mathrm{True}\\ eabbccadde \rightarrow \mathrm{True}\\ bbbb …

30
IPアドレスかどうか?
ネットワークスキャンツールは、入力についてうるさくうるさいので、不適切な文字を含むIPv4アドレスまたは適切にフォーマットされていないIPv4アドレスを入力すると、すぐにクラッシュします。 IPv4アドレスは、ピリオドで区切られた4つの数字として記述された32ビットの数値アドレスです。各番号は0〜255にできます。 これらのクラッシュを回避するために、入力を事前検証するツールを作成する必要がありますが、特定のツールには注意が必要です。有効な形式はa.b.c.d、a、b、c、dのようになります。 先行ゼロなしの0自然数または自然数を指定できます。 0から255の間(両端を含む)でなければなりません。 必要がありませんのような特殊な記号含まれ+、-、,、などを。 10進数でなければなりません(基数10) 入力:文字列 出力:TruthyまたはFalseyの値(任意の値も受け入れられます) テストケース: Input | Output | Reason | | - 1.160.10.240 | true | - 192.001.32.47 | false | (leading zeros present) - 1.2.3. | false | (only three digits) - 1.2.3 | false | (only three digits) - 0.00.10.255 | false …

24
文字列をアルファベットのスニペットに減らします
大文字と小文字のアルファベット文字とスペースのみで構成される空でない文字列([a-zA-Z ])がある場合、最初の文字から始まるアルファベットのスニペットに減らします。 文字列を減らすには、最初のアルファベット文字から始め、その後のアルファベットの次の文字ではないすべての文字を削除します。文字列の最後に到達するまでこれを繰り返します。 例codegolf: で始まり、アルファベットの次の文字ではないcため削除oします。 キープdそれはようであるアルファベットの次の文字、そして保つeそれはあまりにも次の文字であるとして。 削除g、oおよびl、と続けますf。 最終的なスニペットは cdef ルール 大文字を維持する必要があるため、CodEgolF結果としてCdEF スペースはアルファベットの文字ではないため、文字列の先頭であっても常に削除する必要があります 縮小の性質により、入力の最初のアルファベット文字は常に出力の最初の文字になります。 zZはアルファベットの最後の文字です。その後に文字はなく、アルファベットはループしません。 テストケース codegolf -> cdef CodEgolf -> CdEf codeolfg -> cdefg ProgrammingPuzzles -> P Stack Exchange -> St The quick red fox jumped over the lazy brown dog -> Tuvw Zebra -> Z Abcdegfhijkl -> Abcdef 得点 …

11
HE COMETH NOT-ザルゴの挑戦
文字列が与えられた場合、zalgoがあればそれを取り除くプログラムまたは関数を作成します。 ザルゴ この投稿では、zalgoは次のUnicode範囲の任意の文字として定義されます。 ダイアクリティカルマークの組み合わせ(0300–036F) 拡張された発音区別符号の組み合わせ(1AB0–1AFF) ダイアクリティカルマークの補足の組み合わせ(1DC0–1DFF) 記号の発音区別符号の組み合わせ(20D0〜20FF) ハーフマークの組み合わせ(FE20–FE2F) https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges 入力 コマンドライン引数、STDIN、または言語でサポートされている他の標準入力方法を介して渡すことができます zalgoまたはその他の非ASCII文字を含む場合と含まない場合がある文字列になります 出力 出力は、zalgoを含まない文字列でなければなりません。 テストケース Input -> Output HE̸͚ͦ ̓C͉Õ̗͕M͙͌͆E̋̃ͥT̠͕͌H̤̯͛ -> HE COMETH C͉̊od̓e͔͝ ̆G̀̑ͧo͜l͔̯͊f͉͍ -> Code Golf aaaͧͩa͕̰ȃ̘͕aa̚͢͝aa͗̿͢ -> aaaaaaaaa ññ -> ñn ⚡⃤ -> ⚡ 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。

11
パーフェクトパリンドローム
あなたの仕事は、文字列がどれだけ完璧な回文であるかを決定することです。あなたの典型的な回文(例12321)は完全な回文です。その完全性は1です。 文字列の完全性を判断するために、各セクションが回文である場所に分割できるセクション数を確認します。withなどのあいまいさが存在する場合、or またはorにaaaa分割できるため、最短セットがオーバーライドされ、最短セットの長さであるスコア1が与えられます。[aa, aa][aaaa][a, aaa][aaa, a]aaaa したがって、空ではない入力を1つ受け取り、それがどれだけ完璧かを設定するプログラムまたは関数を作成する必要があります(これは、セット内の各要素が回文である場所に分割できる最短セットの長さです)。 例: 1111 -> 1 [1111] abcb -> 2 [a, bcb] abcbd -> 3 [a, bcb, d] abcde -> 5 [a, b, c, d, e] 66a -> 2 [66, a] abcba-> 1 [abcba] x -> 1 [x] ababacab -> 2 [aba, bacab] bacababa -> …

12
中央の繰り返しなしで、繰り返しなしで元の文字列を見つけます
文を入力しているときに気が散ってしまい、同じ単語を2回、単語を2回続けて入力してしまうことがあります。 確かめる 他の人がこれに悩まされないするために、あなたの仕事はこの問題を解決するプログラムを書くことです! 仕事 入力文字列を指定します(言語にとって重要な場合は、改行を含まないASCIIのみの入力を想定できます。) str、中間に2回連続して発生する部分文字列が含まれ、このインスタンスを1つ持つ文字列を返します部分文字列が削除されました。 複数の可能性がある場合は、可能な限り最短の回答を返します(つまり、連続する最長の繰り返し部分文字列を選択して削除します)。 複数の同じ長さの連続する繰り返し部分文字列の場合、最初の(つまり、文字列を前後に読んでいるときに最初に現れる)部分文字列を削除します。 入力が正しい(つまり、連続した繰り返し部分文字列が常に含まれている)と想定することもできます。 例 入力:hello hello world->出力:hello world。 入力:foofoo->出力:foo。(そのため、はい、文字列は繰り返し部分で2回だけ構成されます)。 入力:aaaaa->出力:aaa、最も長い繰り返し連続部分文字列がここにあるためaa。 入力:Slartibartfast->これは有効な入力ではありません。連続する繰り返し部分文字列が含まれていないため、このケースを処理する必要はありません。 入力:the few the bar->これは別の無効な入力です。これは、繰り返し部分が元の部分の直後に続く必要があるためです。この場合、theおよびtheそれらの間の何かで区切られているため、この入力は無効です。 入力:ababcbc->出力:abcbc。2つの可能な最長の連続した繰り返し部分文字列があるabとbc。としてab以前の文字列で発生した、これは正解です。 入力:Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo。出力:Buffalo buffalo buffalo buffalo Buffalo buffalo。(実行される置換では、大文字と小文字が区別されます)。 入力:Sometimes it happens that while typing a sentence, I am distracted and I end up …

22
再帰的な文字列置換
タスク 3つの文字列を指定してA, B, C、Binの各インスタンスがでA再帰的に置換された出力文字列を生成するプログラムまたは関数を記述しCます。再帰的に置換とは、各ステップで重複しないBinのすべてのインスタンスA(左から右に貪欲に選択)がに含まれなくなるCまで置換を繰り返すことを意味BしAます。 入出力 I / Oにはデフォルトのメソッドを使用できます。 文字列には、印刷可能なASCII文字のみが含まれます(また、それらのいずれかが含まれることもあります)。 B一方で、空の文字列になることはありませんAし、Cかもしれません。 文字列はプレーンテキストとみなされます。たとえば、扱うことはできません B。、正規表現パターンとして。 入力の一部の組み合わせは終了しません。これらの場合、プログラムは何でもできます。 テストケース これらは次の形式です。 A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 終了しない例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

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