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

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

2
ぼんやりした言語学者
バックグラウンド 言語学者の友達が、さまざまな言語でいくつかの簡単な会話の断片を録音して分析しました。彼らはまったく不在なので、各スニペットの言語を忘れてしまいました。文の構造を分析し、不可能な場合を除外するプログラムを作成して、彼らを助けなければなりません。 入力 入力は、主語、動詞、オブジェクトSVOを表す文字を含む空でない文字列です。言語学者が分析した会話スニペットを表します。 出力 あなたの仕事は、文字列を文に分割し、各文の.後にピリオドを入力することです。文には、動詞、または動詞と主語、または動詞、主語とオブジェクトのいずれかが含まれます。ただし、元の言語で使用されている単語の順序はわかりません。英語ではsubject-verb-objectを使用しますが、ラテン語などの他の言語ではsubject-object-verbを使用します。実際、6つの順列はすべて自然言語で存在するため、それぞれをチェックする必要があります。 出力には、改行で区切られた文字列で、該当する各単語の順序、コロン:、およびその順序に従って文に分割された入力文字列が含まれます。文字列がいくつかの語順で解析できない場合、対応する行は省略されます。行の順序は重要ではなく、少なくとも1つの語順を解析できることが保証されています。 例 入力を検討する VSVOSV VOS注文、スニップは、以下のように解析することができVS.VOS.V.、且つにSVO順番、それは次のように解析できますV.SVO.SV.。注文OSVも機能し、完全な出力は VOS:VS.VOS.V. SVO:V.SVO.SV. OSV:V.SV.OSV. ルールとスコアリング 完全なプログラムまたは関数を作成できます。最も低いバイト数が優先され、標準の抜け穴は許可されません。正規表現とすべての組み込みが許可されています。 テストケース Input: V Output: VSO:V. VOS:V. SVO:V. OVS:V. SOV:V. OSV:V. Input: SVV Output: SVO:SV.V. SOV:SV.V. OSV:SV.V. Input: VSVOV Output: SVO:V.SVO.V. Input: VSOVS Output: VSO:VSO.VS. OVS:VS.OVS. Input: SVOSV Output: SVO:SVO.SV. OSV:SV.OSV. Input: VSVOSV Output: VOS:VS.VOS.V. …

6
文から重複する単語を削除する
この課題では、各文から重複する単語を削除します。 例 Hello Hello, World! Hello, World! Code Code! Golf Code Code! Golf Code Hello hello World Hello World Programming Golf Programming! Programming Golf! 仕様 入力はASCII文字列になります。 文は、文字列の終わり、改行(\n)、または句読点(.!?)までの任意のものとして定義されます。 単語はのシーケンスとして定義されA-Za-zます。 単語は大文字と小文字を区別しません(Hello== heLlO)。 文中の単語の最初の出現のみが保持されます。 単語が削除された場合、削除された単語の前のスペースは削除する必要があります。(例A A B-- A B)。 いつものように、標準の抜け穴は許可されていません。 これはコードゴルフなので、バイト単位の最短コードが優先されます!
10 code-golf  string 

5
レーベンシュタイン距離バイアス
A文字列を指定してS、別のプログラミング言語の名前を出力する名前の言語でプログラムを記述しますB。長さBに等しくなければならないレーベンシュタイン距離(略称「LD」)の間AとS。プログラミング言語と見なされるにBは、esolangsページまたはWikipediaページが必要です。 例: (Suppose the program is coded in Python) Input: Jython Output: R Input: Pyt4oq Output: Go Input: Rs7hon Output: C++ 間のLD PythonとJython出力ので、一つでありますR 最大LDまでカバーする必要があり12ます。LDは0発生しないと想定できます。 これはcode-golfなので、バイト単位で最も短いプログラムが優先されます。 (これが私の最初の課題です!フィードバックを歓迎します) リーダーボード コードスニペットを表示 var QUESTION_ID=58974,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return …
10 code-golf  string 

5
dog bashユーティリティを実装する
dog は任意の数の引数をとるコマンドラインユーティリティです。最初の引数は書き込むテキストで、その他は任意の数のファイルです。 dogユーティリティは、これらのファイルの上に等分してテキストを分割します。残りがある場合n、最初のnファイルは追加のバイトを取得します dogcatしたがってx、forall の反対です。以下が成り立つはずです。 $> dog x a.txt b.txt ... $> cat a.txt b.txt ... x$> どこで...任意に多くのファイルを示します。 例(12バイト、3ファイル、均等に分割可能): $> ./dog.py "Dogs vs Cats" a.txt b.txt c.txt $> cat a.txt Dogs$> cat b.txt vs $> cat c.txt Cats$> cat a.txt b.txt c.txt Dogs vs Cats$> 残りのある例(13バイト、5ファイル、残り3): 9$>./dog.py "0123456789abc" a.txt b.txt …

4
後方関係
プログラムや関数を書く2つのASCII文字列を与えられ、そのAとB、文字列を生成しますA'し、B'共通部分文字列は、その場所にどこを逆転しています。検索のプロセスA'は次のとおりです。 A' 最初は空です。 最初の文字が場合AであるB、の最長プレフィックス見つけるAのサブであるがB。からこの接頭辞を削除しA、その逆をに追加しA'ます。 それ以外の場合は、この最初の文字をから削除しAてに追加しA'ます。 Aが空になるまで、手順2〜3を繰り返します。 検索B'も同様に行われます。 例 文字列A = "abc bab"とを考えてみましょうB = "abdabc"。の場合A'、これは何が起こるかです: A = "abc bab":最初の文字"a"はBにあり、Bで見つかったAの最長の接頭辞は"abc"です。このプレフィックスをAから削除し、その逆"cba"をA 'に追加します。 A = " bab":最初の文字" "はBにないため、この文字をAから削除してA 'に追加します。 A = "bab":最初の文字"b"はBにあり、Bで見つかったAの最長の接頭辞は"b"です。このプレフィックスをAから削除し、その逆(まだ"b")をA 'に追加します。 A = "ab":最初の文字"a"はBにあり、Bで見つかったAの最長の接頭辞は"ab"です。このプレフィックスをAから削除し、その逆"ba"をA 'に追加します。 A = "":Aは空なので停止します。 したがって、取得しA' = "cba" + " " + "b" + "ba" = "cba bba"ます。B 'の場合、プロセスは同様です。 …
10 code-golf  string 

12
文字列内の文字の混合
stdin/ command-line arguments / function arguments を介して入力を取り、文字列内の文字を混合し、次にを介して最終的な文字列を出力する関数/プログラムを作成する必要がありますstdout。 入力には、最初に文字列(空またはでないnull)、スペース、次にスペースで区切られた偶数の非負数が含まれます。関数の引数を介して入力が行われる場合、文字列は引数の1つであり、スペースで区切られた整数はもう1つの引数です。連続する数値のペアに対応するインデックスで文字列の文字を交換する必要があります。 例えば: Hello_world! 0 6 結果として wello_Horld! 仮定 0ベースまたは1ベースのインデックスを選択でき、指定されたインデックスは常に範囲内であると想定できます。 文字列が100文字を超えることはないだろうとだけ範囲のASCII文字が含まれています!し~(包括的、0x7Eにする文字コード0x21で)。リファレンスについては、ASCII表を参照してください。 ペアの2つのインデックスは同一である可能性があります(その場合、そのステップでは何も交換されません)。 得点 これはコードゴルフなので、最短の提出(バイト単位)が勝ちます。 テストケース Hello_world! 0 6 => wello_Horld! First 1 2 1 0 0 4 => tFisr (Second!$$) 8 7 10 1 => ()econd$!$S ~Third~ 0 0 6 6 0 6 6 …
10 code-golf  string 

4
プレリュード構文チェッカー
Preludeは難解なプログラミング言語であり、有効なプログラムを構成するものに対する制限はほとんどありませんが、珍しいものです。印刷可能なASCIIテキストの任意のブロック(「ブロック」は、印刷可能なASCIIの行が改行で区切られることを意味します-0x0A)は、次の条件が満たされている場合に有効です: テキストのすべての(垂直)列には、(およびのいずれかが含まれます)。 垂直位置を無視して、(と)はバランスがとれています。つまり、それぞれ(と)その右側の1つだけがペアになり、その逆も同様です。 印刷可能なASCIIと改行を含む文字列を指定して、それが有効なPreludeプログラムを構成するかどうかを決定するプログラムまたは関数を記述します。STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を受け取ることができます。選択した2つの固定された 真偽値を使用して、結果をSTDOUTに返したり、出力したりできます。 入力が長方形であると想定してはいけません。 これはコードゴルフなので、最短の提出(バイト単位)が勝ちます。 例 以下は有効な Preludeプログラムです(実際、これらは実際の Preludeプログラムです): ?1-(v #1)- 1 0v ^(# 0)(1+0)#)! (#) ^#1-(0 # 1(# 1) v # - 1+) vv (##^v^+ ? v-(0 # ^ #) ? 1+ 1-! そして、ここにいくつかの入力がありますが、すべて無効です: #(#(##)##)##( )##(##(##)#)# #(#) )### #(## (##) (##) (#)# (##) (### #(#) (##) #(#) …

3
タブを展開(expand(1)を実装)
今回のタスクは、expand(1)タブをスペースに展開するPOSIX ユーティリティのバリアントを実装することです。 あなたのプログラムが取ることですタブストップ仕様をし、その後に標準の入力を読んで、次のタブストップに到達するためのスペースの適切な量を入力してタブ文字を置き換えます。結果は標準出力に書き込む必要があります。 タブストップ仕様 タブストップ仕様は、単一の番号、またはタブストップのカンマ区切りリストのいずれかから成ります。単一の数値の場合は、その数の倍数がコンマ区切りのリストで発生したかのように繰り返されます(つまり4、として機能します4,8,12,16,20,...)。コンマ区切りリストの各エントリは、オプションで接頭辞が付いた正の整数です+。+プレフィックスは、コンマ区切りのリスト内の前の値に相対的な差を示しています。リストの最初の値は絶対値(つまり、プレフィックスなし)でなければなりません。タブストップは、次のスペース以外の文字の列(展開されたタブに続く)を指定し、左端の列を番号0と見なします。タブは常に少なくとも1つのスペースに展開する必要があります。 入出力 タブストップの指定は、プログラムの最初のコマンドラインパラメータとして使用するか、または標準の入力から(改行で終了する)入力の最初の行として読み取るかを自由に選択できます。タブストップが読み取られた後、EOFまでの残りの入力(前者の場合はすべての入力)が処理および拡張されます。拡張出力は標準出力に書き込まれます。 すべての展開されたタブストップ、およびすべての入力は、最大80列幅であると想定されます。すべての拡張タブストップは厳密に増加しています。 例 タブストップの指定4,6,+2,+8はと同等4,6,8,16であり、両方の入力がある ab<Tab>c <Tab><Tab>d<Tab>e<Tab>f に展開されます(␣スペースを示します) ab␣␣c ␣␣␣␣␣␣d␣e␣␣␣␣␣␣␣f 01234567890123456 (Ruler for the above, not part of the output) 1111111 スコアリングは純粋なコードゴルフです。最短のコードが勝ちます。

6
TUT言語翻訳
次の表に示すように、各文字を対応する「TUTワード」で置き換えることにより、テキストをTUT言語の記述バージョンに翻訳できます(リンクされた記事から抜粋)*: a e h hash o o u yu b bub i ay p pup v vuv c kut j jag q kwak w waks d dud k kak r rut x eks e i l lul s sus y yak f fuf m mum t tut z zuz g …
10 code-golf  string 

2
メール検証
コメントを無視したり、空白()を折り畳んだり、一般化されたアドレスリテラルを緩和したりして、RFC 5321(5322に見られるいくつかの文法規則)に対して電子メールアドレスを検証する関数またはプログラムを記述しますCFWS。これは文法を与えます Mailbox = Local-part "@" ( Domain / address-literal ) Local-part = Dot-string / Quoted-string Dot-string = Atom *("." Atom) Atom = 1*atext atext = ALPHA / DIGIT / ; Printable US-ASCII "!" / "#" / ; characters not including "$" / "%" / ; specials. Used for atoms. …

7
文字列が双子のシャッフルであるかどうかを確認する
説明 2枚のカードの山をシャッフルして1枚の山を作るのと同じように、2つの文字列を混ぜて新しい文字列を形成します。 例えば、文字列HELLOとをWORLD形成するようにシャッフルすることができHWEOLRLLOD、またはHEWORLLLDO恐らく単に、又はHELLOWORLD。 それはない文字の元の順序が保存されていない場合はシャッフル。たとえば、シャッフルされた後、DインWORLDが表示されることはありませんR。これはEHLLOWRDLO、たとえば、元の文字がすべて含まれていても、HELLOとのシャッフルではないことを意味しますWORLD。 ストリングは、2つの同一ストリングをシャッフルして形成できる場合、双子のシャッフルです。たとえばABACBDECDE、双子のシャッフルは、シャッフルABCDEやで形成できるためABCDEです。DBEACBCADE2つの同一の文字列をシャッフルして形成できないため、双子のシャッフルではありません。 プログラムの詳細 入力文字列を指定して、0双子のシャッフルでない場合は出力し、双子のシャッフルである場合は双子文字列の1つを出力します。 入力文字列は4文字から20文字までの長さで、すべて大文字のアルファベット文字で構成されていると想定できます。妥当な時間、たとえば10分未満で実行できるはずです。 これはコードゴルフなので、最短のソリューションが優先されます。 I / Oの例 > ABACBDECDE ABCDE > DBEACBCADE 0 > FFFFFF FFF > FFGGG 0 > ABBA 0 > AABB AB > AABAAB AAB (ゴルフではない)実装例があります。

11
詐欺師をマッピングしてください!
すべての課題が提出されると、生徒番号をファイルのハッシュにマップする辞書が作成されます。 このディクショナリ、またはハッシュマップ、またはマッピング(言語によって何と呼ばれていても)は次のようになります。 {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"} キーは学生番号で、値はハッシュです。 私たちの仕事は詐欺師を選ぶことです!不正行為者は、同一のハッシュを持つものです。 入力が与えられると、{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}関数は次のテキストを返す(または出力する)必要があります。 100 has identical files to 430 104 has identical files to 332 ハッシュが一意であるファイルが言及されていないことに注意してください。 また、ここでの順序も重要です。 {100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"} 次のテキストを返す(印刷する)必要があります。 100 has identical …

7
そこで、私はそれを修正しました(ロープで)
関連:水平方向に似た(ただしはるかに簡単な)課題: そこに固定(テープを使用) チャレンジ: 大文字および/または小文字(どちらでもかまいません)と改行のみを含む文字列が与えられた場合、rope垂直に配置して修正します。これを行うには、アルファベット内の2つの隣接する文字の違いを確認し(折り返しを無視して下向きにするだけ)、スペースを必要なだけROPE/ で埋めropeます。 注:この課題と(テープを使用して)修正したThere のもう 1つの重要な違いは、rope今回のようにtape(課題の一部で@JonathanAllanが提案した)のように無駄にしていないことです。 例: 入力: abc bcd ddd eex gfz hka imh 出力: abc bcd Rdd deE efR OPO gEP hRE iOR kO PP mE R O P E R O P E R O x P z a E R O P E R …

8
壊れたひものピラミッド
文字列nを指定して、現在の行を基準にして断片に分割された文字列のピラミッドを作成します。 最初の行には、変更されていない文字列が含まれています。 2行目には、パイプで半分に分割された文字列が含まれています。 3行目では、3番目の行で区切られています... 等々。各部分文字列の長さ。ここで、lは文字列nの長さと等しく、 床(l / n) 残った文字は独自のサブストリングに入れられます。使用される最後の行は、部分文字列の長さが2である最初の行です。 テストケース: 入力:こんにちは、世界。 出力: Hello, world. Hello,| world|. Hell|o, w|orld|. Hel|lo,| wo|rld|. He|ll|o,| w|or|ld|. 入力:abcdefghij 出力: abcdefghij abcde|fghij abc|def|ghi|j ab|cd|ef|gh|ij 入力:01234567890abcdef 出力: 01234567890abcdef 01234567|890abcde|f 01234|56789|0abcd|ef 0123|4567|890a|bcde|f 012|345|678|90a|bcd|ef 01|23|45|67|89|0a|bc|de|f 追加のルール: 完全なプログラムまたは関数のどちらか少ない方のコードを使用して記述できます。 入力は常に少なくとも4文字の長さになります。 言語でサポートされている場合は、改行を使用する必要があります。不可能な場合は、改行を: 入力は常に印刷可能なASCIIになります。 プログラムがP対NPを解決する場合は100%マイナス。 リーダーボード: コードスニペットを表示 var QUESTION_ID=104297,OVERRIDE_USER=62384;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function …
10 code-golf  string 

9
ヌメロニムかN8?
ヌメロニム単語が数字を使用して短縮された場合(また、「数値収縮」として知られている)です。一般的な短縮方法は、置換された部分文字列の長さを使用して、最初と最後の文字を除くすべてを置換することです。たとえば、のi18n代わりにinternationalization、またはのL10n代わりに使用しlocalizationます。(L小文字はに似すぎているため、大文字になってい1ます。) もちろん、同じフレーズ内のいくつかの単語は同じ省略形を持っている可能性があるので、あなたの仕事は単語のグループをそれらの数字に変換することです、または同じ数字を持ついくつかの異なる単語が存在する場合、プログラムはの結果A7s R4t、略称Ambiguous Result(はい、この結果自体があいまいな結果であることを知っています。) ルール: プログラムまたは関数を使用して、結果を出力または返します。 入力は単一の文字列として取得されます。 出力は、スペースで区切られた単語の単一の文字列です。 プログラムは長さ3の単語を変換する必要はなく、短い単語を変換するべきではありません。 場合l(小文字のエル)の前に発生するであろう1(1)、それは大文字なされるべきです。 場合I(大文字のアイ)が前に発生するであろう1(1)、それは小文字なされるべきです。 入力は印刷可能なASCIIとスペースになります。単語はスペースで区切られます。 最短のコードが勝ちます。 例: A7s R4t -> A7s R4t (OR: A1s R1t, etc) Ambiguous Result -> A7s R4t Billy goats gruff -> B3y g3s g3f Thanks for the Memories -> T4s f1r the M6s (one possible answer, NOT: Thnks fr …
10 code-golf  string 

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