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

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

13
アスキーアートの成形
改行を含まない単一の印刷可能なASCII文字列と、スペース()およびハッシュ(#)を含む複数行の「型」が与えられます。 文字列内の文字ごとに移動し、左から右、上から下の順に文字列の文字を使用してハッシュを置き換える必要があります。文字列が短すぎて金型を満たすことができない場合は出力を停止し、文字列が長すぎる場合は文字列を切り捨てて金型を正確に埋めます。 文字列/型の例(文字列が長すぎる、切り捨てられた): Loremipsumdolorsitamet,consecteturadipiscingelit.Namsuscipitmagnanoneratgravidacondimentum.Vestibulumnecnisllorem.Fuscemolestieviverranibh,eueleifendnislplaceratnon.Namblanditturpislacus,vitaemolestielacusimperdietquis.Nullapulvinar,exquissollicitudinfacilisis,eratnullavolutpatlectus,etluctusenimvelitegetex.Inhachabitasseplateadictumst.Donecinterdumnullalacinia,sodalesloremin,eleifendturpis.Pellentesqueanisimi.Aeneannonlobortisdiam,quisaliquetquam.Aeneanaugueipsum,imperdietsedaliquetnon,volutpategetsapien.Nullampharetranullaquispretiumornare.Aliquamfermentumvestibulummassavitaevehicula. ########################################################### ##### ############## ###### ###### ###################### ##### ## ###### # ##### ###### ######## ###### ###### # # #### #### ##### ###### ####### ###### ##### ###### ### ### ##### ###### ####### ####### ##### ###### ##### ### ########### ###### ####### ### ###### ###### ###### ### ########## ###### ##### …

1
最大部分文字列の構築
この課題では、次の2つのことが渡されます。 文字列の長さ、 N 文字列のリストL、それぞれに割り当てられたポイント値があります。渡されない文字列のポイント値は0です Nすべてのサブストリングポイントの合計ができるだけ大きくなるような長さのストリングを作成する必要があります。 例えば: 5 [("ABC", 3), ("DEF", 4), ("CDG", 2)] 出力する必要があります ABCDG ポイント(ABCおよびCDG)を持つ2つの部分文字列は合計5ポイントであり、他の可能な構造では5ポイント以上を与えることができないためです。 部分文字列は、文字列内で複数回使用でき、重複する場合があります。ポイントは常に正であり、部分文字列の長さは1からN文字長の間であると仮定できN > 0ます。複数の構成が最大の場合、それらのいずれかを印刷します。 プログラムは妥当な時間内に実行する必要があります(各例で1分以内): 1 [("A", 7), ("B", 4), ("C", 100)] => C 2 [("A", 2), ("B", 3), ("AB", 2)] => AB 2 [("A", 1), ("B", 2), ("CD", 3)] => BB 2 [("AD", 1), …

2
ランレングスレーサー
2つの入力が与えられます:ランニングトラックを定義するランレングスエンコード形式の文字列と、開始するレーンを表す大文字。たとえば、文字列「3a4A6b5B」は「aaaAAAAbbbbbbBBBBB」に展開されます。次に、展開された文字列を使用して、次のようなトラックを作成します。 A) aaaAAAA B) bbbbbbBBBBB これは2車線のトラックです。小文字は空気を表します。オンエアはできません!大文字は、あなたが走れる道を表します。このチャレンジの目標は、大文字を与えられて、そのレーンでスタートするレーサーがどこまで走れるかを出力することです。レーサーは、直上または直下に道路がある場合、車線を切り替えることができます。また、逆方向への実行も許可されています!この特定のトラックでは、いずれのトラックも位置1の走行可能な道路がないため、文字入力の出力は0です。 例: 入力:「4A5B4c3C」、「A」 このコードは、次のようなトラックに展開されます。 A) AAAA B) BBBBB C) ccccCCC この例の出力は7です。これは、レーンAで始まるランナーがレーンBに移動し、次にレーンCに移動して、7番目の位置で終わる可能性があるためです。 入力:「4A2B3D」、「D」 追跡: A) AAAA B) BB C) D) DDD 出力は3です。これは、レーンDで始まるランナーがレーンBまたはAに到達する方法がないためです。 入力:「4A4a4A3b6B5C」、「A」 追跡: A) AAAAaaaaAAAA B) bbbBBBBBB C) CCCCC AのランナーはBに切り替えて、最後にAに戻ることができるため、出力は12です。「C」の最大距離も12です。「B」の場合、0です。 入力:「12M4n10N11O」、「M」 追跡: M) MMMMMMMMMMMM N) nnnnNNNNNNNNNN O) OOOOOOOOOOO 複数桁のランレングスを使用した簡単な例。出力は14です。 入力:「4A5B1b2B4c3C」、「A」 追跡: A) AAAA B) BBBBBbBB …

5
jQueryの対決
この事件からしばらくして … あり、いくつかの私たちのjQueryのこの汚すために反対している人は。それは不浄な存在であり、その根絶は必要です。したがって、私はあなたに、改革の新王国に忠実であるあなたに、そのような抵抗を排除するプログラムを作成するよう呼びかけます。すべてのコードを検証し、jQueryのあらゆるトレースを検索する必要があります。そして、もちろん、あなたの提出は短くする必要があります(別の予算削減がありました、そして、残念なことに、それはストレージ部門にありました)。また、文字を定義することはできません。 速度を上げるために、定義する文字は次の文字のいずれかですjJqQuUeErRyY$x0。すでに述べたように、これらの文字の使用は、あなた自身のプログラムであっても厳しく禁止されています。したがって、それらを使用しないでください。また、数字のドル記号でも大丈夫です。したがって、フォームn+(.nn)*$は何でも構いません(まだ使用しないで0ください)。 プログラム/コード/など。入力プログラムを検証する必要があります。デファイリング文字が含まれている場合は、出力する必要がありますThis programmer is guilty of Heresy. He must be burnt.。そのような文字が見つからない場合、を出力する必要がありますProgram validated. Clearance level 2 given.。 ボーナスとペナルティ 私は個人的にキャラクターを称賛し~ます。使用する2つごとに、-1バイトを指定します。(つまり、他のすべて~は無料です。) 除外された文字から正確に1文字を選択できます。ただし、すべての場合にこの文字を使用できます。ただし、最初のペナルティが+ 50%で、その文字のすべてのインスタンスに+5バイトのペナルティがあります。 -90%jquery(ソースコードで(非常に安全にするために)隣接する文字を使用しない場合。これらは(さらに)次のとおりです。iIkKpPsSzZXdDfF 無効な文字列が指定されたときに前述のテキストを出力するときに、すべての無効な文字を-1 *の実行、10未満の実行、および[]それ以上の実行で置き換える場合、-20%。 -50バイトが見つからない場合、JavaScript/iまたはSimplex文字を定義している場合。 参照実装 function validate() { var str = document.getElementById("input").value; var str2 = str.replace(/[jquery0]/gi,"").replace(/x/g,"").replace(/(\d+\.*\d*\d*\$)|\$/g,"$1"); // thanks Doorknob! var val; if (str2 == str) { val …

7
階層的なアウトラインの番号付け
すべての行0がいくつかのスペースでインデントされた文字で構成される文字列を取り込むプログラムを作成します。一番上の行はインデントされず、他のすべての行は、直前の行よりも多くても1スペースだけインデントされます。 行の末尾にスペースはありませんが、オプションで末尾に改行が1つあると想定することもできます。 たとえば、入力は次のようになります。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 あなたの仕事は、ラインヘッダーとして正の整数を増やして、階層的なアウトラインのように番号を付けることです。これは、例の出力になります。 1 1 1 2 2 2 1 2 3 1 3 1 1 2 階層的なインデントレベルごとに、1つまでしか増えない場合でも、独自の増加する数字のセットがあることに注意してください。 出力では、末尾のスペースはありませんが、オプションで単一の末尾の改行がある場合があります。 stdinまたはコマンドラインを介して入力文字列を取得する完全なプログラムを作成するか、引数として文字列を取得する関数を作成します。結果を出力するか、文字列として返します。 バイト単位の最短コードが優先されます。 例 空の文字列が入力された場合、空の文字列が出力されます。 次に最も些細な例は入力です 0 になるはずです 1 大規模な例-入力: 0 0 0 0 0 0 0 …

2
レーベンシュタイン距離の各ステップ
この課題では、2つの改行で区切られた文字列s1(最初の行)とs2(2番目の行)を入力(STDINまたは最も近い)として受け取るプログラムを作成します。s1の長さは常に30より小さく、s2の長さより大きいと仮定できます。プログラムは、s1からs2までのレーベンシュタイン距離の各ステップを出力します。 レーベンシュタイン距離の各ステップの意味を明確にするために、プログラムはn個のストリングを出力します。ここで、nはs1とs2の間のレーベンシュタイン距離であり、2つの隣接するストリング間のレーベンシュタイン距離は常に1です。順序は関係ありません。出力は改行で区切る必要があり、s1は含めず、中間とs2のみを含める必要があります。このプログラムは、最新のコンピューターで1分以内に実行されるはずです。 例: 入力: Programming Codegolf 出力: rogramming Cogramming Coramming Coamming Codmming Codeming Codeging Codegong Codegolg Codegolf 入力: Questions Answers 出力: uestions Aestions Anstions Ansions Answons Answens Answers 入力: Offline Online 出力: Ofline Online 入力: Saturday Sunday 出力: Sturday Surday Sunday 以下は、距離とステップを出力するPythonスクリプトへのリンクです。 追加のルール: インターネットを使用しない 標準的な抜け穴が適用されます これはコードゴルフですので、コードは短くしてください。最短のコードが勝ちます!
18 code-golf  string 

30
入力文字列内の文字の出現を見つける
チャレンジ x10文字の文字列と1文字の文字列を指定すると、string でy文字yが出現する回数を出力するプログラムを作成しますx。 そうするためのバイト単位の最短プログラムが勝ちです。 例 Input: tttggloyoi, t Output: 3 Input: onomatopoe, o Output: 4

13
エンコードされた文字列を展開する
古典的なランレングスのエンコードとデコードがあります。 input output a3b2c5 aaabbccccc そして、それはかなり簡単で前に行われました。 課題は、複数の文字がランレングス(0〜9の1桁)に先行する場合の非標準的な動作も考慮することです。ランレングス数字の前の各文字(数字以外または文字列の最後の前の最後の数字)には、その値が個別に適用され、順番に出力されます。 いくつかのエッジケースを含むいくつかのテスト入力および出力: input output ab3c5 aaabbbccccc a0b3 bbb 13b1 111b a13b1 aaa111b a123b1 aaa111222b aa2a1b1 aaaaab 文字シーケンス([a-zA-Z0-9]+)の後には、ランレングス長([0-9])が続く必要があります 有効な入力のみを考慮する必要があります(([a-zA-Z0-9]+[0-9])*) はい、空の文字列は有効な入力です。 入力は標準入力経由、出力は標準出力経由 これはコードゴルフで、バイト数が勝者を決定します。
18 code-golf  string 

24
カウンターカウンター
タイポグラフィでは、カウンターは文字の形または記号で完全または部分的に囲まれた文字の領域です。閉じたカウンターは、文字形式または記号で完全に囲まれたカウンターです。入力として文字列を取り、テキスト内の閉じたカウンターの総数を出力するプログラムを作成する必要があります。 あなたの入力: コマンドライン入力またはSTDINから入力できますが、どちらを指定する必要があります。 印刷可能なASCII文字のみで構成されます。つまり、32〜126の間のすべてのASCII値を意味します。これにはスペースが含まれます。詳しくは。 現在、これはフォント間でわずかに異なります。たとえば、これを読んでいるフォントは、「g」に1つの閉じたカウンターがあると見なしますが、googleフォントには「g」に2つの閉じたカウンターがあります。これが問題にならないように、文字ごとのクローズドカウンターの公式数を以下に示します。 閉じたカウンターのないすべてのシンボル: !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ これにはスペースが含まれることに注意してください。 以下は、1つの閉じたカウンターを持つすべてのシンボルです。 #0469@ADOPQRabdegopq そして、ここに2つの閉じたカウンターを持つすべてのシンボルがあります: $%&8B 最後に大事なことを言い忘れましたが、ここにいくつかのサンプルの入力と出力があります。 Programming Puzzles and Code-Golf 印刷する必要があります 13 4 8 15 16 23 42 印刷する必要があります 5 All your base are belong to us 印刷する必要があります 12 Standard loopholes apply 印刷する必要があります 12 Shortest answer in bytes is the winner! 印刷する必要があります 8
18 code-golf  string 

8
一文字交換
postcount ++と呼ばれるウェブ上の最大のフォーラムは、新しいフォーラムゲームを作成することを決定しました。このゲームでは、目標は単語を投稿することですが、単語には1文字追加、削除、または変更する必要があります。あなたの上司は、あなたがよりインテリジェントなフォーラムゲームを備えたよりインテリジェントなフォーラムを持ち、競争を破壊したい会社で働いているときに、単語とUNIX辞書を取得するプログラムを書くことを望んでいました(ちょっと、それはあなたの上司です彼と話し合うと、とにかくあなたの仕事からたくさんの現金を得ることができます)。 プログラムは、単語と辞書という2つの引数を取得します。プログラムを管理するユーザー(はい、ユーザー、会社にはボットを実行するリソースがない)は完全ではないため、両方のケースを正規化する必要があります。辞書内の単語には、ASCII文字(大文字と小文字の両方、ただし比較中は無視する必要があります)、ダッシュ、アポストロフィ、および途中に連続しないスペースが含まれる場合があります。78文字を超えることはありません。単語を手動で考える人々の楽しみを壊すために、ゲームで受け入れられる単語のリストを出力する必要があります。 これは、予想されるプログラムの例で、に類似する単語をチェックしますgolf。 > ./similar golf /usr/share/dict/words Goff Wolf gold golfs goof gulf wolf /usr/share/dict/wordsそれぞれの後に改行して、単語のリストです。たとえば、fgets()で簡単に読むことができます。 あなたが働いている会社はあまりパンチカードを持っていません(そう、それは2014年であり、彼らはまだパンチカードを使用しています)ので、それらを無駄にしないでください。できるだけ短いプログラムを作成してください。ああ、そしてあなたは、レーベンシュタイン距離または同様のアルゴリズムの組み込みまたは外部実装を使用しないように頼まれました。Not Invented Hereや、明らかにベンダーが言語に挿入したバックドアについての何か(それらの証拠はありませんが、上司と話し合ってはいけません)。したがって、距離が必要な場合は、距離を自分で実装する必要があります。 任意の言語を自由に使用できます。パンチカードを使用していても、同社はCobol RubyやHaskell などの最新のプログラミング言語にアクセスできます。文字列操作に適していると思われる場合は、GolfScriptを使用することもできます(おそらく...わかりません)。 勝者は私から15の評判ポイントを獲得し、おそらくコミュニティから他の多くのポイントを獲得します。他の良い答えは10ポイントを獲得し、同様にコミュニティからもポイントを獲得します。ポイントは価値がないと聞きましたが、2050年にドーラーに取って代わる可能性が最も高いと聞きました。
18 code-golf  string 

1
Cプリプロセッサを作成する
目標は、C言語用のプリプロセッサを、ソースコードのサイズ(バイト単位)の点で、希望する言語でできるだけ小さくすることです。入力はCソースファイルになり、出力は前処理されたソースコードになります。 処理できる必要があるアイテムは、コメントの削除(行/ブロック)、#includeディレクティブ(相対パスでファイルを開き、必要なポイントでテキストを置き換える)、#define、#undef、#if、 #elif、#else、#endif、#ifdef、#ifndef、defined()。#pragmasや#errorsなどの他のCプリプロセッサディレクティブは無視されます。 #ifディレクティブで算術式や比較演算子を計算する必要はありません。式がゼロ以外の整数を含んでいる限り、式はtrueと評価されます(その主な用途はdefined()ディレクティブです)。可能な入力および出力の例は次のとおりです(出力ファイル内の余分な空白は、見た目をよくするために削除されました。コードでそうする必要はありません)。次の例を適切に処理できるプログラムで十分です。 ----Input file: foo.c (main file being preprocessed) #include "bar.h" // Line may or may not exist #ifdef NEEDS_BAZZER #include "baz.h" #endif // NEEDS_BAZZER #ifdef _BAZ_H_ int main(int argc, char ** argv) { /* Main function. In case that bar.h defined NEEDS_BAZ as true, we call baz.h's …
18 code-golf  string  c 

15
ゴルフアスキーアートをコーディングする簡単な方法!
仕事: このサイトには、このようなアスキーアートにアレンジされた多くの回答があります。通常、配置は手動で行われますが、プログラムはそれを助けませんか?:) プログラムには3つの入力があります。 1行のコード パターンの行数(必要でない場合は省略できます) *sまたは別のchar としてのパターン自体 ルール: stdinから読み取るプログラム(関数ではない)を作成する必要があります テキストは行ごとに左から右に配置されます パターンを埋めるのに十分なテキストがない場合は.、残りのスペースにsを入れます パターンを埋めるにはテキストが多すぎる場合は、出力後に印刷してください code-golf、バイト単位の最短コードが勝ちます サンプル実行: 入力(完全適合テスト): qwertyuiopasdfghjklzxcvbnm 4 ***** * *** * * * * * * * * ***** * *** 出力: qwert y uio p a s d f g h j klzxc v bnm 入力(余分な文字のテスト): qwertyuiopasdfghjklzxcvbnm12345 4 ***** …

25
文字列を大文字にする
文字列を指定して、大文字にします。総額で私は意味conTeNT-lENgthの変更をContent-Length。例で-は、単語境界として2つの単語を含む文字列を示しました。ただし、単一の文字で区切られた任意の数の単語を境界として含む文字列のコードを記述することを期待しています。この境界は、文字列全体で変化する場合があります。 条件 使用regular expressionsは許可されていません。 文(文字列)には任意の数の単語を含めることができます。 各単語は、あらゆるケースのEnglish文字[a-zA-Z]で構成されます。 文中の異なる単語は単一の文字で区切られます。この文字はしますのみのいずれであっても-、.、<space-character>、/、&、#。文には、言及された文字以外の文字が含まれないと想定しても安全です。 単語の境界は出力で保持する必要があります。 最短のコードが勝ちます。 たとえば、プログラムはのBegin/With.Type&Contentために出力する必要がありますBeGin/wITH.tyPE&conTeNt。 Some test cases: "aGeNT ACcEpT/LEngTh-tYPe USeR raNgE.TyPe" "type&AgeNt/CC/COnteNt lEnGth#acCePT/AgeNt.RAnGe-Cc/contEnt/cODe" "cc/rEspoNCe.lEngtH#tYpE-witH&UsEr/bEgIN&uSer.AGEnT&begIn/aCCEPt/Cc" "lENgTH#USeR.tYpE/BeGiN&LENGth tYpe/ACCEpt#rANge/codE&AnD-ACCepT/ConTenT" "contENT/ACcEpT" "BeGin/wITH.tyPE&conTeNt" "Code.cc#User.lenGTh-USer-AND&tyPE TypE&leNgtH.tYPe usER.UseR&with" "RaNgE&COnTeNT WITh CoNTENT-TypE tyPe" "BEgin COdE#uSeR#aGeNt.USeR" "TypE LENGth"
18 code-golf  string 

23
ジミーはロープを掛けることができますか?
彼の元の父によるさらに別のジミーの挑戦。これらの他の 素敵な チャレンジをご覧ください。 ご存知のように、最近、プラットフォーム上でジミーに関連する課題が発生しています。今、ジミーは私が前に述べたようにアクロバットであり、彼は彼の袖の上に他のトリックを持っています。 これらのトリックの1つは、ロープで吊るすことです。ジミーがぶら下がるロープの例を次に示します。 || || || || || || ジミーがロープにぶら下がると、次のようになります。 || || /o\ || || || 彼はロープの左または右に掛けることができるので、これは: || || || /o\ || || も有効です。しかし、彼はたった1つの体の部分だけでぶら下がることはできないので、次のようなものです。 || || || /o\| || || 無効です。彼が片方の身体の部分にぶら下がっているとき、ジミーはそれを隠さないので、ロープのもう半分が見えることに注意してください。 また、ジミーはロープの底にぶら下がるのが好きではありません-それは彼を怖がらせます-これは: || || || || || /o\ 無効です。 チャレンジ 上記のようなジミーの状況を入力し、ジミーがロープに固執するかどうかを、真実の値または偽の値で出力します。 詳細 入力を受け取るプログラムを作成します。これは、関数または他の適切な入力メソッドを介して行うことができます。 入力は、上記の例のように、1つのジミーとロープのシーンである必要があります。 プログラムは、ジミーがロープに固執することができるかどうか、または彼がロープから脱落するかどうかに基づいて、それぞれ真実または偽の値をコンソールに出力する必要があります。 ジミーがロープにぶら下がることができる基準: 彼の体の部分の2つはロープの上にあります。 彼はロープの底にいない。 …

2
囲まれているもの
私はいつもいくつかのテキストを#sで囲むことを望んでいましたが、私が何を囲んでいるかわからないので、この課題では、あなたはそれを行うプログラムを書くことになります 例 入力/出力は改行で区切られます。 ### #a# ### a # #a# # a ### # a # # b c # ####### a b c ABCDHIJ E####GK F# M #L # N#O P#### M N ###A### #C#B#o# #d###e# # go# ### C o d e go スペック #sはテキストのブロックを「囲む」ものです # 常に互いに隣接します(対角線を含む) # 常に閉じた形状を形成します …
18 code-golf  string 

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