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

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

30
文字列全体から文字列の最初の文字をすべて削除します
文字のみを含む入力文字列が与えられA-Z、a-z最初の文字がある場合は、スペースは、(文字列の最初の文字の大文字と小文字のバージョンの出現をすべて削除Aすべて削除A秒とa、最初の文字がある場合には、Sを(スペース)削除は、すべてのスペース)、および出力を印刷します。 例: Testing Testing One Two Three -> esing esing One wo hree Programming Puzzles and Code Golf -> rogramming uzzles and Code Golf How much wood would a woodchuck chuck if a woodchuck could chuck wood -> ow muc wood would a woodcuck cuck if a woodcuck could cuck …

10
双方向パリンドローム閉鎖ジェネレーター
前書き 入力文字列のパリンドローム閉包は、入力文字列から構築できる最短のパリンドロームであり、最終的なパリンドロームは入力文字列で始まります。 この課題では、次のような双方向パリンドローム閉包を検討します。 入力文字列の左パリンドローム閉包は、入力文字列で始まる最短の回文です。 入力文字列の右回文閉鎖は、入力文字列で終わる最短の回文です。 入力文字列の双方向パリンドローム閉包は、入力文字列の左または右のパリンドローム閉包のいずれか短い方です。 仕事 あなたの仕事は簡単です。文字列(印刷可能なASCII、改行、空白のみで構成される)を指定すると、その文字列の双方向の回文クロージャが出力されます。同数の場合、左右の回文クロージャのいずれかが有効な出力です。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、結果をSTDOUT(または最も近い代替)に出力するか、文字列として返すことができます。 入力が空の文字列になることはないと想定できます。 いくつかの例: <Input> -> <Output> "abcdef" -> "abcdefedcba" (or "fedcbabcdef") "abcba" -> "abcba" "abcb" -> "abcba" "cbca" -> "acbca" 最初のアイデアの功績はVisualMelonに、最後のアイデアはMartinとZgarbの助けを借りて この論文では、パリンドローム閉鎖、左パリンドローム閉鎖、右パリンドローム閉鎖という用語が最初に使用され定義されました。

30
文字列の平均文字を計算する
仕事 あなたの仕事は、文字列の平均文字を含む文字列を生成することです。結果の最初の文字は、最初の文字の平均文字(最初の文字)であり、2番目の文字は最初の2文字の平均であり、以下同様です。 平均的なキャラクターとは何ですか? 文字列はバイトの配列です。文字列の平均文字は、文字列内の文字のASCII値の平均を計算し、対応するASCII文字を取得することで見つけることができます。 たとえば、文字列"Hello!"はバイトシーケンスとして記述できます72 101 108 108 111 33。ascii値の平均は533/6 = 88.833 ...であり、最も近い整数に丸めると89が得られYます。これはcaptial letterのasciiコードです。 ルール 入力には印刷可能なASCII文字のみが含まれると想定できます。 入力は、stdinから、またはコマンドライン引数として、または関数引数として読み取ることができます。 出力は標準出力でなければなりません。プログラムが機能している場合は、そうでなければ印刷する文字列を返すこともできます。 スニペットではなく、プログラム全体または関数でなければなりません 標準的な抜け穴が適用されます 整数は、関数floor(x+0.5)または同様の関数によって丸められます。 どうやって勝ちますか? これはcode-golfなので、winsでの最短回答(バイト単位)です。 例 Hello! → HW^adY test → tmop 42 → 43 StackExchange → Sdccd_ccccddd
24 code-golf  string 

26
文字列をハッシュで囲む
私はすでにPythonでこれを作成しましたが、かなり短縮できるようです: txt = input("Type something.. ") c = "#" b = " " print(c * (len(txt) + 4)) print(c, b * len(txt), c) print(c, txt, c) print(c, b * len(txt), c) print(c * (len(txt) + 4)) したがって、ユーザーが次のように入力した場合: Hello World プログラムは次を印刷します。 ############### # # # Hello World # # # ############### …
24 code-golf  string 

23
シーザー等価
対応する文字間の距離(カウントアップ)が同じ場合、2つの文字列は「Caesarに相当」です。はい、私はこの用語を作りました。以下に例を示します。 「Abc」と「Cde」は同等であるため、 distance from a-c == 2 distance from b-d == 2 distance from c-e == 2 大文字小文字を区別しても違いはありません。 「Hello」と「World」はCaesarで同等ではありません distance from h-w == 15 distance from e-o == 10 distance from l-r == 6 distance from l-l == 0 distance from o-d == 15 「Abcd」と「Yzab」はCaesarと同等です distance from a-y = 24 …
24 code-golf  string 

15
文字列のスクラブルスコアと有効性を決定する
あなたの仕事は、与えられた文字列が適切な長さであり、スクラブルタイルで表現できるかどうかを判断し、そうであれば、各文字のスコアの合計を出力することです。 Scrabble:のプレイ方法がわからない場合は、A〜Zのさまざまな文字が印刷された100個のタイルと、任意の文字を表す2つのワイルドカードがあります。各文字には一定数のポイントがあり、各タイル(必ずしも単語ではない)は1回しか使用できません。単語が再生されると、使用される各タイルのポイント値が合計され、それがスコアになります。限られた数の文字が利用可能であるため、単語に特定の文字を含めることができるのは、その文字にタイル+未使用のワイルドカードが含まれている場合だけです。スクラブルボードは15×15セルなので、単語は2〜15文字でなければなりません。 英語版での各文字の量とスコアのリストについては、下記を参照してくださいまたはhttp://boardgames.about.com/od/scrabble/a/tile_distribute.htm(アーカイブ)。 手紙の数量ポイント手紙の数量ポイント ------------------- ------------------- A 9 1 O 8 1 B 2 3 P 2 3 C 2 3 Q 1 10 D 4 2 R 6 1 E 12 1 S 4 1 F 2 4 T 6 1 G 3 2 U 4 1 H 2 …

30
リストからオックスフォードコンマを使用して単一の文字列を生成する
文字列のリストを取得し、リストから構築された単一の適切に句読点付きの文字列を返し、各要素を引用する、いくつかの巧妙な(簡潔で慣用的な)アプローチは何ですか? 一方、これは私のために来たのGroovyを試して、私あまりにもリテラルが、説明の解決策があるため、 def temp = things.collect({"\'${it}\'"}) switch (things.size()) { case 1: result = temp[0] break case 2: result = temp.join(" and ") break default: result = temp.take(temp.size()-1).join(", ") + ", and " + temp[-1] break } すなわち、['1']得られるはず'1'、['1','2']得られるはず'1 and 2'、と[私は?そこに何をしたか見る] ['1','2','3']得なければなりません'1, 2, and 3'。 Groovyには良い答えがありますが、他の言語で何ができるかを知りたいです。 これらの言語の機能とイディオムを利用するさまざまな言語のコンパクトな巧妙なアプローチは何ですか?


23
ボウルにアルファベットのスープを入れます
私たちは、ように見える決して取得しない疲れたアルファベット関連の課題の... レシピ 与えられた 文字列S、および 2つの正の整数M、N、 文字とアルファベットスープ製造S占有ランダムな位置に長方形のボウルサイズのM× N、フレームボウルのリムを表現するために、非アルファベット、非空白文字です。 文字で使用されていない位置はスペースとして表示する必要があります。以下の例を参照してください。 追加規則 サイズM× Nは、ボウルの内部を指します。リムを含むサイズはM+2× N+2です。 からの各キャラクターは、ボウルの異なる位置に一度S表示されます。つまり、ある文字が別の文字を上書きすることはできません。 S 重複する可能性があります。たとえばS、が文字列の'abcc'場合、スープにはone a、one b、およびtwo c(すべて異なる位置にある)が含まれている必要があります。 入力は満足さ制限を M >= 1、N >= 1、1 <= length(S) <= M*N。 ボウルの縁は、アルファベット以外、スペース以外の任意の文字で、プログラムの実行と入力値全体で一貫しています。 ボウル内の文字の位置はランダムであるため、同じ入力でプログラムを実行するたびに結果が異なる場合があります。 入力が与えられると、文字位置のすべての可能なセットはゼロ以外の確率を持つ必要があります。これはプログラムのいくつかの実現からはチェックできないため、コードがこれをどのように実現するかを説明してください。 先頭または末尾の空白リムの周りには許可されています。 S大文字のみが含まれます。希望する場合は、小文字のみを選択できます。 入出力は通常どおり柔軟です。たとえば、出力は、改行を含む文字列、2D文字配列、または行のリストです。 すべてのプログラミング言語でプログラムまたは機能を使用できます。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 例 入力はとして表示されます。S, [M N]ここでMは、行N数と列数です。キャラクター#はリムに使用されます。 'O', [1 1]: ### #O# ### 'HEY', [1 3]: ##### …

25
猶予期間を考慮した編集のカウント
SEで投稿を編集すると、5分間の猶予期間内にさらに編集された内容がマージされます。投稿を編集する回数のリストが与えられたら、猶予期間内ではない編集をカウントします。 数分で編集するとします[0,3,4,7,9,10,11,12]。これにより、3回の編集が行われ[0,7,12]、残りは猶予期間中に行われます。 0: [3,4] 7: [9,10,11] 12: [] 最初の編集は0分です。3分と4分での編集は5分の猶予期間内であるため、カウントしません。 2番目の編集は7分です。9、10、11分での編集は猶予期間内です。 12分目の3番目の編集は、7分から始まる5分間の猶予期間の端を過ぎています。 したがって、出力は3です。 分単位の時間のリストは、増加する整数のリストになります。最初の投稿では、最初の番号は常に0になります。これは編集としてカウントされます。 テストケース: [0] [0,3,5,7] [0,3,4,7,9,10,11,12] [0,30,120] [0,4,8,12,16] [0,4,8,12,16,20] [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] [0,5,10,15,20] [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] [0,1,4,5,9,11,12,14,16,18,23,24,26,28,29,30] 出力: 1 2 3 3 3 3 4 5 5 6 コピーを簡単にするために、入力、出力、および入出力のペアを以下に示します。 [[0], [0, 3, 5, 7], [0, 3, 4, 7, 9, 10, 11, 12], [0, …

22
配電盤上の一部のスイッチを反転する
この挑戦に触発されました。 ゴール: 事前に設定されたスイッチボードとインデックスのリストを指定すると、指定されたインデックスでスイッチを反転します。 配電盤は、いくつかのスイッチ(vまたは^)でラップ-され、さまざまな長さの列に配置されます。スイッチボードの例を次に示します。 -v-^-v- -^-v- -v-^-v- スイッチを反転/反転するとは、スイッチをvから^、またはから^に変更することを意味しvます。 スイッチには左から右、上から下にインデックスが付けられています。たとえば、上記の例vでは、最初の行の最後が位置3にあり^、中央の行が4にあります(1インデックスを使用)。 入力: スイッチボードを表す文字列(または文字列のリスト)。正規表現と一致することが保証されてい((-[v^])+-)(\n(-[v^])+-)*ます。 インデックスを表す番号の空のリストは、0または1(または必要に応じて任意の番号)になります。これらは、反転する必要があるスイッチです。 出力: 指定されたスイッチが反転した入力と同じ形状の配電盤。指定されていないスイッチは、初期状態を保持する必要があります。 ルール: 入力は常に正しくフォーマットされ、指定されたインデックスが範囲外になることはありません。 インデックスのリストはソートされ、重複はありません。 答えには、0、1、または任意のインデックスを使用してください。 出力が入力のように見える限り、末尾の空白は問題ありません。 これはコードゴルフなので、最短のコードが優先されます。 例: #Using 1-indexing input: #Empty Case [], -v-^-v- output: -v-^-v- input: #Single switch [1], -v- output: -^- input: #Skip a line [3,5], -^-v-v- -v- -^-^- output: -^-v-^- -v- -v-^- input: …

14
あなたの「KVZ」を知っていますか?
概念 英語のアルファベットをどのようにスクランブルして、曲を壊さずにトゥインクルトゥインクルリトルスターに合わせて歌うことができますか? ルール スワッピング 次の各セットに含まれる文字は、曲を損なわずにデフォルトで自由に交換できると仮定してみましょう。 {A、J、K} {B、C、D、E、G、P、T、V、Z} {I、Y} {Q、U} {S、X、F} {M、N} したがって、H、L、O、R、およびWは所定の位置にロックされます 出力 プログラムは、順序が上記の条件を満たしている限り、任意の順序で完全な英語のアルファベットを含む単一のランダム文字列(または文字のリスト)を出力する必要があります。プログラムがどの文字列を出力するかを予測する方法はないはずです(シードを無視する場合)。つまり、ハードコーディングすることはできません。 あなたのプログラムは、9 !⋅ 3 !⋅ 3 !⋅ 2 !⋅ 2 !⋅ 2 != 1045094409!⋅3!⋅3!⋅2!⋅2!⋅2!=104509440 9! \cdot 3! \cdot 3! \cdot 2! \cdot 2! \cdot 2! = 104509440 それぞれを生成するいくつかの正の確率(必ずしも均一ではない)を持っている必要があります!⋅ 3 !⋅ 3 !⋅ 2 !⋅ 2 !⋅ 2 …

15
セミパリンドロームパズル
回文とは、それ自体が逆の言葉です。 今ではパリンドロームのように見えるかもしれないがそうではない単語がいくつかあります。たとえば、単語 はパリンドロームsheeshで sheeshはありません。その逆はhseehsどちらが異なるかを考えshてみましょう。しかし、単一の文字と考えると、逆はになりsheeshます。この種の単語をセミパリンドロームと呼びます。 具体的には、単語をいくつかのチャンクに分割して、チャンクの順序が逆になったときに元の単語が形成される場合、単語はセミパリンドロームです。(sheeshこれらのチャンクはsh e e sh)単語の両方の半分からの文字を含むチャンクも必要ありません(そうでない場合、すべての単語はセミパリンドロームになります)。たとえば、元の単語の両側の文字を含むチャンク()があるrearため、セミパリンドロームではありません。奇数の長さの単語の中心文字は単語のどちら側にもないと考えます。したがって、奇数の長さの単語の場合、中心文字は常に独自のチャンクになければなりません。r ea rea あなたの仕事は、正の整数のリストを取得し、それらがセミパリンドロームかどうかを判断することです。コードは、入力がセミパリンドロームの場合とそうでない場合の2つの一貫した等しくない値を出力する必要があります。ただし、コードのバイトシーケンスはセミパリンドロームそのものでなければなりません。 回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 テストケース [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False より多くのテストケースを生成するプログラム。 恐ろしいことは、これらが一般化されたスマランダチェ回文に似ていることを指摘した。したがって、さらに読みたい場合は、1つの場所から始めてください。

10
最短の一意に識別する部分文字列
文字列のリストが与えられたら、各文字列を、空でない部分文字列の1つで置き換えます。これは、リスト内の他の文字列の部分文字列ではなく、できるだけ短くします。 例 リストを考えると["hello","hallo","hola"]、"hello"ただで置き換える必要があり"e"、この部分文字列がに含まれていないとして、"hallo"そして"hola"、それはできるだけ短くしています。"hallo"いずれかで置き換えることができる"ha"か、"al"と"hola"のいずれかによって"ho"、"ol"または"la"。 ルール 文字列は空ではなく、同じ大文字と小文字のアルファベットのみを含むと想定できます。 このような部分文字列はリスト内の各文字列に存在すると仮定できます。つまり、リスト内の文字列は他の文字列の部分文字列にはなりません。 入力と出力は任意の合理的な形式にすることができます。 これはcode-golfなので、選択した言語でできるだけ少ないバイトを使用するようにしてください。 テストケース ほとんどの場合、可能な出力は1つだけです。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 関連:最短識別サブストリング -同様のアイデアですが、より複雑なルールと扱いにくい形式です。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

26
波状の文字列を1行ずつ印刷する
チャレンジ 文字列sと整数nをパラメーターとして受け取るプログラムまたは関数を作成します。次のように変換すると、プログラムは文字列を出力(または返す)します。 左上から始めて右下に移動し、s高さの波として書き込みnます。次に、上から下へ、各行を文字列として(スペースなしで)結合します。 例 文字列「WATERMELON」と高さ3を指定します。 波は次のようになります。 W R O A E M L N T E 次に、行を上から下に結合します。 WRO AEMLN TE したがって、プログラムは文字列「WROAEMLNTE」を返す必要があります 同様に、高さ4の「WATERMELON」は次の波を生成するはずです。 W E A M L T R O E N その後、プログラムは文字列「WEAMLTROEN」を返す必要があります ルール 入力 入力は、合理的な形式で取得できます。文字列は、どのような場合でも好きなものにすることができます。あなたはそれを仮定するかもしれません0 < n <= s.length 出力 出力は、変換された文字列(STDOUTに返されるか出力されるか)と、後続の改行のみで構成される必要があります。 得点 これはcode-golfなので、バイト単位の最短回答が勝ちです!標準の抜け穴は許可されていません。 テストケース Input Output programmingpuzzles, 5 -> …
23 code-golf  string 

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