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

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

6
プレートからステートへ
これは基本的に、米国のナンバープレートの生成の逆です。 課題:以下のライセンスプレート形式のいずれかに一致する文字列が与えられた場合、その形式に一致するすべての可能な状態を出力します。以下の表で0は、1桁0を9含む1桁をA表し、1文字AをZ含むを表します。この課題の目的のために、複雑なフォーマットルール(デラウェアのように桁数が可変)の状態を無視し、似たような文字(たとえば、Iおよび1)の削除を無視しています。 AAA 000: AK, IA, MS, MP, VT 0000: AS AAA0000: AZ, GA, WA 000 AAA: AR, KS, KY, LA, ND, OR 0AAA000: CA AA-00000: CT AA-0000: DC AAA A00: FL AA 00000: IL 000A,000AA,000AAA,AAA000: IN 0AA0000: MD AAA 0000,0AA A00,AAA 000: MI 000-AAA: MN 00A-000: NV 000 0000: …

4
派手な文字列の置換
let S、aおよびbそれぞれは文字列を表します 目標:あなたは、すべての出現置き換える機能置き換える標準の文字列を書くa文字列にしSてbいる限り、aすでにのインスタンスの一部ではないがb たとえば、文字列S= がある場合My oh my that there is a big ol' that 私たちは空想のに置き換えやってみたかったa = thatとb = that there我々はすべてのインスタンス代わるthatとのthat thereインスタンス限り、thatすでにのインスタンスではありませんthat there したがって、この場合の出力は次のようになります。 My oh my that there is a big ol' that there 最初thatのインスタンスは既にインスタンスの一部であるため、置き換えられませんthat there ノート 3つの入力はすべて、印刷可能なASCII文字のみを含む文字列でなければなりません 入力は、3つの個別の文字列または3つの文字列のリストとして指定できます 入力が順番になりますS、a、bそれ以外の答えで指定しない限り、 のa一部と見なされるにはb、のすべてのインスタンスがインスタンスのa一部である必要がありますb いくつかのコーナーケースの説明 Input: ["1222", "22", "122"] Output: "12122" 上記の例では、後者22が置き換えられます。それの一部がインスタンスの一部であるbとしても、それの全体はのインスタンスの一部ではありませんb。のインスタンス全体はインスタンスのa一部ではないため、b置き換えられます。 Input: …
16 code-golf  string 

7
フチ無しテーブル
このチャレンジでは、アルファベットの文字をデカルト平面に配置し、結果をテキストとして出力します。 入力は、3つのパラメーターを持つリストのリストで構成されます。 X座標 Y座標 ストリング どうやって? 我々は、デカルト平面の2つの軸含まれていることを知っているの兆候場合と4つの象限座標は((及び。例えば(X、Y)(バツ、Y)(X, Y)(X、Y)(バツ、Y)(X,Y)(+ 、+ )(+、+)(+,+)(− 、+ )(−、+)(−,+)(− 、− )(−、−)(−,−)(+ 、− )(+、−)(+,−) 次の3行3列の行列をデカルト平面として考えます (- 1 、1 )(- 1 、0 )(− 1 、− 1 )(0 、1 )(0,0)(0,−1)(1,1)(1,0)(1,−1)(−1,1)(0,1)(1,1)(−1,0)(0,0)(1,0)(−1,−1)(0,−1)(1,−1)\begin{matrix} (-1,1) & (0,1) & (1,1) \\ (-1,0) & (0,0) & (1,0) \\ (-1,-1) & (0,-1) & (1,-1) \end{matrix} 入力で与えられた場合[[-1,1,L],[0,1,F]]、マトリックスのようなものは次のようになります。 L(- …

30
3つに分割します!
文字列が与えられたら、それを3文字のグループに分割する必要があります(_最後にパディングすることにより)。 関連しますが、それでも異なります。 サンプルI / O: 'abcde' -> 'abc', 'de_' '1234' -> '123', '4__' '' -> [] or falsey value 'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!' 6 MBストリング これはcode-golfなので、最少バイトが勝ちます! 編集:最後に、出力は無制限です。

4
重複を折りたたみ、この文字列をジグザグにします
文字列が与えられたら、あなたの仕事は、以下で説明するようにジグザグのような構造に折りたたむことです。 ジグザグに折る "Mississippi"例として文字列を使用します。 まず、一意の文字のみで構成される最長のプレフィックスを出力します。 Mis 最初の重複文字Cに到達すると、それを無視し、残りの文字列(issippi)の一意の文字で構成される最長のプレフィックスを、最初に出現するCの下に垂直に出力します。 Mis i s 水平方向と垂直方向の連続を交互に繰り返します。ただし、この場合のように、最後の複製文字とは限りませんが、複製文字の最後の出現から水平方向に出力を続けるように注意してください(ステップ1)。 Mis i sip ----- Mis i sip i ルール 文字列には印刷可能なASCII文字のみが含まれますが、空白は含まれません。 デフォルトではこれらの抜け穴は禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法および合理的な形式で入力および出力を行うことができます1。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 1入力:文字列/文字のリスト/あなたの言語が文字列を表現するために使用するその他のもの。出力:複数行の文字列、行を表す文字列のリスト、または文字/長さ1の文字列のリストのリスト。ただし、可能であれば、コードのきれいなバージョンを回答に含めてください。 追加のスペースに関して、出力には以下が含まれます。 先頭/末尾の改行 各行の末尾/末尾のスペース 一貫性のある各行の先頭のスペースの数 水平方向に出力を開始する必要がありますが、垂直方向に開始することはできません。 テストケース 入力: 「完璧」 「ミシシッピ」 「奇妙な」 「些細なこと」 「クトゥルフ」 「PPCG」 「pOpOpOpOpOpOp」 「ABCCCE」 「ABCCCECCEEEEC」 「abcdcebffg」 「abca」 「AAAAAAAA」 対応する出力: 性能 c t ミス 私 一口 私 Od …

4
Portmantoutを生成します!
バックグラウンド 3年前、この男のトムマーフィーは、ポートマントーの考えを言語のすべての単語に拡張し、これをポートマントー(portmanteau plus tout [ すべてのフランス語])と呼びました。英語を108,709個の単語のリストとして定義すると、彼は次の2つのプロパティを持つ611,820個の文字のシーケンスを見つけることができました。 すべての英語の単語は文字列に含まれています。 文字列に2つの隣接する文字を含む近隣は英語の単語です。 ここでは「(ビデオ解説と一緒に)このportmantoutを見つけることができるページへのリンクをね。 portmantout portmantoutの2つのプロパティのうち最初のプロパティは簡単に理解できます。2つ目は、説明が必要な場合があります。 基本的に、単語は重複する必要があります。「golfcode」は、「fc」を含む単語がないため、英語のポートマントには決して表示されません。ただし、portmantoutで「codegolf」が見つかる場合があります。「ego」はギャップを埋めます(他のすべての文字のペアは「code」または「golf」のいずれかです)。 あなたのタスク: 文字列のリストを受け取り、リストのportmantoutを返すプログラムまたは関数を作成します。 このPython 3コードはportmantoutを検証します。 テストケース すべてのリストは順不同です。あれは、 {"code", "ego", "golf"} -> "codegolf" {"more", "elm", "maniac"} -> "morelmaniac" or "morelmorelmaniac" or "morelmorelmorelmaniac" or... Would a morelmaniac be some sort of mycologist? {"ab", "bc", "cd", "de", "ef", "fg", "gh", "hi", "ij", …

17
交互パターン
削除されたstackoverflowの質問で、誰かが以下を投稿しました: 交番パターンを印刷するプログラムまたは機能を記述*し、#指定された整数に基づきますn。いくつかの例: 入力:n=1 出力: * 入力n=5 出力: *#### ###** ***## ###** *#### 入力:n=8 出力: *####### ######** ***##### ####**** ****#### #####*** **###### #######* かなりクールなコードゴルフの挑戦のように見えたので、ここにあります。 これらのパターンはどのように構築されますか? 最初の行はシングル*で始まり、後続のn-1量が続き#ます。 2行目は、2つが含まれている*と、n-2大手の量#。 3行目は3 *で始まり、その後に続くn-3量が続き#ます。 等 中間(n/2)に達したら、の量で再度カウントします*。これは上記の例で見ることができます。 入力が奇数の場合、行の逆のペア(最初と最後、2番目と最後から2番目など)はまったく同じであることに注意してください。このn=5例では、最初と最後の行は*####;です。最後の行の2番目と2番目の行は###**です。 ただし、偶数の入力番号の場合、行の逆のペアは逆になります。このn=8例では、最初と最後の行は*#######and #######*です。最後の行の2番目と2番目の行は######**and **######です。等 チャレンジルール: およびの代わりに、任意の2つの印刷可能な文字を使用できます。and を使用できます。および; および; 等。あなたが使用したものをあなたの回答に明記してください。*#AB37<> n正の整数(>= 1)であると仮定できます。 STDOUTに出力する代わりに、各行の文字列のリスト/配列または文字の2Dマトリックスを出力できます。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 回答には標準的な規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストへのリンクを追加してください。 …

10
旅客機の座席を割り当てる
先週のAPLレッスンに触発されました。 大文字の2D座席マップと1Dの顧客リストを指定して、座席マップと顧客リストを返しますが、次のように変更します(占有座席と座席のある顧客を示すため)。 入力乗客リスト内の一意の文字ごとに、座席マップ内のその文字の多く(または十分でない場合はすべて)を小文字にして、左から右、上から下に移動します。 座席表の一意の文字ごとに、乗客リストのその文字の多く(または十分でない場合はすべて)を小文字にして、左から右に移動します。 入力シートマップは、集合{からスペースと大文字が含まれF、B、P、E}、とすることができます。 改行によって行に分割されます 文字列のリスト 大文字の行列 他の同等の形式で 入力された顧客リストは、集合{から大文字が含まれF、B、P、E}であってもよいです。 文字列 文字のリスト 他の同等の形式で 返される座席マップは、0個以上の文字が小文字に折り畳まれていることを除いて、入力されたものと同一でなければなりません。 返される顧客リストは、ゼロ以上の文字が小文字に折り畳まれていることを除いて、入力リストと同一である必要があります 先頭と末尾の空白は許可されます 例(ユナイテッドの航空機の短縮版) ERJ145 座席表入力: P E E PP E EE E EE E EE E EE P PP E EE E EE E EE 乗客リストの入力: FFEEEEEEEEEEEEEEEE 座席マップの出力: P e e PP e ee e ee …

9
中間ストリング配列の反射
まず、文字の2次元配列で文字の反射を再定義することから始めましょう。 明確な小文字のアルファベット文字を持つ正方形の2次元配列の文字が与えられた場合、行列の文字の反射を、正方形の中心を通して文字を直接横切る文字と交換するように定義します。 このように、手紙の反射cで abcde fghij klmno pqrst uvwxy 構成になります abwde fghij klmno pqrst uvcxy ためcとw切り替えられています。 さらにいくつかの例(上記と同じ元の構成): キャラクターeを反映すると形成されます abcdu fghij klmno pqrst evwxy キャラクターmを反映すると abcde fghij klmno pqrst uvwxy キャラクターbを反映すると形成されます axcde fghij klmno pqrst uvwby チャレンジ 個別の小文字を持つ2次元配列の文字が与えられた場合、指定された文字列の各文字を調べて、行列に「反映」します。 明確化:文字列の文字はfrom a-z、文字は一意であり、配列は少なくとも1x1から最大5x5です(明らかに、英語のアルファベットには26文字しかないため)。文字列の文字は2次元配列。文字列は最大100文字です。 入力 文字列s、整数N、そしてNxN文字の配列。 例 入力: ac 2 ab cd 出力: dc ba *理由:最初に、を反映aしますd。次に、反映cしてbいるためにはc、入力文字列内の二文字です。 …
16 code-golf  string 

6
括弧でくくられた中置に対する修正
Quylthulgは、Chris Presseyによる言語で、panfixと呼ばれるものを使用して中置表記法の問題を解決しようとします。 postfixと同様に、panfixは、デフォルトの演算子の優先順位をオーバーライドするために、括弧などの不可解な仕掛けを展開する必要はありません。同時に、パンフィックスは、インフィックスと同じ順序と方法で用語を指定することを可能にします。 接頭辞または接尾辞の曖昧さとともに、挿入記法の便利さをどのように取得しますか?もちろん、3つすべてを使用してください! =y=+*3*x*+1+= より正式には、letを+演算子、and aをb式にします。その後(a+b)、有効な(括弧で囲まれた)中置式であり、その式のパンフィックス表現はです+a+b+。ここで、並置は連結を表します。 あなたの目標は、パンフィックス文字列を取得し、それを完全に括弧で囲まれたインフィックスに変換することです: (y=((3*x)+1)) 簡単にするために、次の変更を行います。 演算子は2つの一意の文字のみで構成できます(いずれかを選択できますが、ここでは*andを使用します+)。 リテラルは1つだけで、別の個別の文字で構成されます(いずれかを選択できますが、ここではを使用します_)。 入力は整形式のパンフィックス式になります。 以下のために複雑、私たちは以下の変更を行います: 演算子は、1つだけでなく、任意の正数の文字で構成できます。 これは、文字列の残りの部分を見ることなく、演算子文字の特定の部分文字列がどのように分割されるかを必ずしも決定できないため、挑戦をより困難にします。 これは、@ user202729の好意によるチャレンジのリファレンス実装です。 テストケース format: input -> output +*+_*+_*+++_+*+_*+_*+++ -> ((_*+_)+(_+(_*+_))) **++*+***++_+_++_+*++*+***_*++*+*****_**_*_*** -> ((((_+_)+_)*++*+***_)*(_*(_*_))) ***_**_***_* -> ((_**_)*_) +_+_+ -> (_+_) *+*+++**+***+++++_*+*+++**+***+++++_*+*+++**+***+++++ -> (_*+*+++**+***+++++_) *++++*+*_*_*+*+++****+_++****+_++****++*+*+++_*+++ -> (((_*_)+*+(_++****+_))*+++_) +**+_*+_*+*_*+*_*+*_+*_+**+ -> (((_*+_)*_)+(_*(_+*_))) +**+++++_+++++_+++++*_*+*+_++++++_+++++_+++++++* -> (((_+++++_)*_)+*(_+(_+++++_))) +*+*+_+*+_+*+*_*+*_*+*+_+*+_+*+*+ -> (((_+*+_)*_)+(_*(_+*+_))) …

19
私のやり方で色を読む
すべてのシステムがRGBA空間で話している場合でも、システムごとに色を記述する方法が異なります。CSSに精通しているフロントエンド開発者はを好むかもしれません#RRGGBBAA。しかし、Android開発者はを好むかもしれません#AARRGGBB。AASファイル形式を処理する場合に#AABBGGRR必要です。それはわかりにくいです。おそらく、異なる色形式の間で変換できるプログラムが必要です。 入力: 入力には3つの部分が含まれます。 変換される色(例#1459AC0F:)、シャープ記号で始まり#8桁の16進数が続く文字列。 指定された色の形式(例#RRGGBBAA:)で始まり、#4つの異なるグループに属する8文字が続く文字列。各グループはRR/ GG/ BB/のいずれかAAです。 変換後の形式。 出力: 変換された形式で色を出力します テストケース: Color, OriginalFormat, TargetFormat -> Result #12345678, #RRGGBBAA, #AARRGGBB -> #78123456 #1A2B3C4D, #RRGGBBAA, #AABBGGRR -> #4D3C2B1A #DEADBEEF, #AARRGGBB, #GGBBAARR -> #BEEFDEAD 入力/出力は大文字と小文字を区別しません。受け入れ可能な方法で入力/出力できます。 ルール: これはコードゴルフで、各言語の最短(バイト単位)コードが勝ちます

6
マイナスとチルダの式を評価する
正規表現に一致する式が与えられた場合、/^[-~]*x$/それを評価し、正規表現に一致xする文字列を出力します/^-?x[+-]\d+$/。 たとえば、文字列はに-~x評価されx+1、文字列はに-~-x評価され-x+1、文字列はに-~-~--x評価されx+2ます。 私たちは、から始めるxと左にある文字列を右に評価します。-項を否定し、に~変換yし-y-1ます。 テストケース: x x+0 ~x -x-1 -~x x+1 ~-~x -x-2 -~-~x x+2 --~~x x+0 ~-x x-1 -~-x -x+1 これはcode-golfです。バイト単位の最短回答が優先されます。 入出力形式は厳密です。"x"必須です。
16 code-golf  string 

17
ラムダ紋章を描く
紀元前480年のサラミスでのギリシャの勝利の2497周年を祝うため。ラムダ紋章を描きます。 ラムダブラゾンは、ギリシャの盾に描かれたラムダです。 パズル:正の奇数の整数nが与えられると、上記の盾のアスキーアートイメージを生成します。 仕様: n = 1: ( /\ ) n = 3: ( /\ ) | / \ | ( / \ ) n = 5 ( /\ ) | / \ | | / \ | | / \ | ( / \ ) グラフ: n = 3 …

15
符号付き単項数のリストを解析します
単項数は通常、非負の整数のみを表しますが、次のようにすべての整数を表すように拡張できます。 正の整数NはNとして表されます 1ます。5 -> 11111 負の整数-Nは、aの0後にNが続くことで表されます1ます。-5 -> 011111 ゼロは次のように表されます 0 0セパレータとして使用すると、これらの数値のリストを明確に表すことができます。 3,-2,0,1 111,011,0,1 111 0 011 0 0 0 1 11100110001 あなたの仕事:符号付き単項数のリストを表す文字列を取得し、それを10進数のリストに変換します。 詳細 入力は、符号付き単項数の完全なリストであると想定できます。特に、プログラムは1)空の入力または2)区切り文字で終わる入力を処理する必要はありません。 各数値の大きさは127を超えないと想定することができます。文字列またはリストの最大サイズを持つ言語では、入力と出力が言語のデータ構造に適合すると想定できますが、アルゴリズムは理論的には任意のサイズ。 プログラムまたは関数は、標準的な方法でI / Oを実行できます。入力は、文字列または文字のリスト、単一文字の文字列、整数、またはブール値です。1およびを表すために任意の2文字を使用でき0ます。あなたが使用していない場合1や0、使用しているどの文字を指定してください。 出力は、妥当なリスト形式の10進数でなければなりません(特に、数字の間に何らかの区切り文字が必要です)。負の数値はマイナス記号で示す必要がありますが、言語の負の整数の形式が異なる場合はそれも受け入れます。ゼロは、出力で0またはとして表される場合があります-0。 テストケース 1 -> 1 0 -> 0 (or -0, and similarly for the other test cases) 011 -> -2 1101 -> …

6
Anyfix表記を実装してください!
プレフィックス表記では、演算子は引数の前に来るため、演算子next()が再帰的に呼び出されることを想像できます。中置記法では、演算子は引数の間を行き来するので、単純に構文解析ツリーと考えることができます。後置記法では、演算子は引数の後に来るため、スタックベースと考えることができます。 anyfix表記では、演算子はどこにでも行くことができます*。演算子が表示され、十分な引数がない場合、演算子は十分な引数があるまで待機します。この課題のために、非常に基本的なanyfix評価器を実装することになります。(anyfixは、ここで遊んだり、ここでチェックしたりできるように放棄したレクリエーション言語であることに注意してください) 次のコマンドをサポートする必要があります。 (アリティ1) 複製する 負 (アリティ2) 添加 乗算 等式:0またはを返します1。 これらのコマンドには、任意の5つの非空白記号を使用できます。デモンストレーションのために、"複製、×乗算、加算として使用し+ます。 リテラルについては、負でない整数のみをサポートする必要がありますが、インタープリターはすべての整数(言語の(合理的な)整数範囲内)を含めることができる必要があります。 例を見てみましょう10+5。ストレージは、キューではなくスタックとして動作する必要があります。最初に、スタックはから始まり[]、キューに入れられた演算子リストはから始まり[]ます。次に、リテラル10が評価され、スタックが作成されます[10]。次に、演算子+が評価されます。これには2つの引数が必要です。ただし、スタックには引数が1つしかないため、キュー演算子リストはになり['+']ます。次に、リテラル5が評価され、スタックが作成されます[10, 5]。この時点で、演算子'+'を評価して、スタック[15]とキューを作成できます[]。 最終的な結果は、あるべき[15]ために+ 10 5、10 + 5と10 5 +。 より難しい例を見てみましょう10+"。スタックとキューは[]andで始まります[]。10最初に評価され、スタックが作成されます[10]。次に、+が評価されますが、これはスタックを変更せず(十分な引数がないため)、queueを作成します['+']。次に、"評価されます。これはすぐに実行できるため、スタックが作成されます[10, 10]。+これで、スタックが[20]キューになるように評価できます[]。最終結果は[20]です。 操作の順序はどうですか? を見てみましょう×+"10 10。スタックとキューは両方とも次のように開始します[]。 ×:スタックは変更されず、キューは ['×']ます。 +:スタックは変更されず、キューは ['×', '+']ます。 ":スタックは変更されず、キューは ['×', '+', '"']ます。 10:スタックはになり[10]ます。にもかかわらず×、それが最初に表示されますので、最初の演算子が評価されるようにする必要があり、"それが評価されるので、すぐに実行しないと演算子のどれもそれができる前にすることができます。スタックがに[10, 10]なり、キューになります['×', '+']。×これで評価できるようになり、スタック[100]とキューが作成されます['+']。 10:スタックはになり[100, 10]、+評価できるようになります。スタックがに[110]なり、キューになります[]。 最終結果は [110]です。 これらのデモで使用されるコマンドは、anyfix言語のコマンドと一致しています。ただし、最後の例は、インタープリターのバグが原因で機能しません。(免責事項:あなたの提出物はanyfixインタープリターでは使用されません) チャレンジ 5つの空白以外の数字以外の文字のセットを選択し、上記の仕様に従ってanyfixインタープリターを作成します。プログラムは、特異配列またはそれに含まれる値を出力できます。値のスタックには実行の終了時に単一の値のみが含まれ、演算子のキューは実行の終了時に空になることが保証されています。 これはコードゴルフなので、バイト単位の最短コードが勝ちです。 テストケース これらのテストケースでは、duplicate is "、negative …

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