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

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

26
長さmのn個の文字列を長さnのm個の文字列に変換する
「m」の長さの「n」個の文字列を指定すると、次の条件で「m」個の「n」長の文字列を返すプログラムを作成します。 すべての新しい文字列には、他の文字列と同じインデックスの文字が含まれている必要があります たとえば、最初の出力文字列にはすべての入力文字列の最初の文字が含まれている必要があり、2番目の出力文字列にはすべての入力文字列の2番目の文字が含まれている必要があります。 例(文字の下の数字は文字列のインデックスです): input: "car", "dog", "man", "yay" 012 012 012 012 output: "cdmy", "aoaa", "rgny" 0000 1111 2222 input: "money", "taken", "trust" 01234 01234 01234 output: "mtt", "oar", "nku", "ees", "ynt" 000 111 222 333 444 入力が毎回正しいと仮定する 最短バイトのコードが勝ちます! 編集: 多くのプログラミング言語があり、それぞれに多くの解決策がある可能性があるため、各プログラミング言語とそれを提供したユーザーに最も短い解決策を投稿します。コーディングを続けてください! 再編集: ユーザーDennisのおかげで、リーダーボードにスニペットを挿入しました。 コードスニペットを表示 var QUESTION_ID=85255,OVERRIDE_USER=56179;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 …
16 code-golf  string 

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

10
落下ボールマップの作成
前書き 以前にこのゲームを聞いたことがない人のために。できるだけ長く生き残る必要があるボールをプレーしています。これは、左または右に移動して穴に移動することによって行われます。マップは上に移動するため、長く生き残るためには下に移動する必要があります。画像を検索する場合、おそらく私が意味するゲームを知っているでしょう。 タスク 正の整数nを指定すると、n層の落下ボールマップが出力されます。レイヤー間には、4つの改行があります。レイヤーの幅は25個の下線文字で構成され、長さ5の穴が1つあります。つまり、合計幅は30になります。これは各レイヤーの後にランダムにシフトされます。有効なレイヤーの例は次のとおりです。 _______________ __________ 穴は、レイヤーが円柱のように端にある場合もあります。 _________________________ 先頭に2つのスペースと末尾に3つのスペースがあることに注意してください。作る単一幅5の穴を。 テストケース 以下のために、N = 4、これは有効な出力です。 _______________ __________ ______ ___________________ _______________________ __ _________________________ 注:穴は均一に分布している必要があります。末尾および/または先頭の改行が許可されます。 これはcode-golfであるため、バイト数が最小の提出が勝ちです!

5
ネストされた数字リード文字列を解析する
タスク 文字列Sは、次のプロセスで構築されます。 S空の文字列から始めます。 Sの形式の文字列のある位置に挿入しますds。ここでdは0以外の数字でs、d小文字のASCII文字の文字列です。dsはの構成要素であると言いSます。 ステップ2に進むか、停止します。 あなたの仕事は、そのような文字列を入力として受け取り、その構成要素を先頭の数字の出現順に連結して単一の文字列に出力することです。出力は単一の文字列でなければならず、構成要素間に区切り文字(改行を含む)を含めることはできません。入力文字列と出力文字列に引用符を付けるかどうかを選択できます。入力と出力が空になることはありません。 例 上記のプロセスで文字列を作成しましょう。構成要素の構造は、最終結果で強調表示されます。 S = "" // Insert "3abc" S = "3abc" // Insert "2gh" after 'a' S = "3a2ghbc" // Insert "1x" before '3' S = "1x3a2ghbc" // Insert "3tty" after '3' S = "1x33ttya2ghbc" // Final result └┘│└┴┴┘│└┴┘││ └────┴───┴┘ 出力は、数字の順に構成要素を連結することによって取得されます。この場合、正しい出力は "1x3abc3tty2gh" ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 …

10
関数の引数を独自の行に揃える
関数定義を表す文字列の入力が与えられたら、関数の引数が改行で区切られて整列されるように、改行とスペースが挿入された文字列を出力します。 入力文字列は次のパターンに従います。 まず、プレフィックスで始まります。プレフィックスは常に少なくとも1文字の長さで、文字は含まれません,()。 開き括弧(()は、引数リストの始まりを示します。 その後、ゼロ個以上の引数のリストが続きます。これらは文字列", "(コンマとスペース)で区切られます。引数には文字は含まれません,()。 閉じ括弧())は、引数リストの終わりを示します。 最後に、0個以上の文字であり、文字を含むことがある接尾辞が見つかる 場合があります,()。 入力文字列は、印刷可能なASCIIのみで構成されます(つまり、改行は含まれません)。 出力は次のとおりでなければなりません。 プレフィックス、コピーされたそのまま、および開き括弧。 引数リスト。今回は", "、コンマ、改行、および各引数の最初の文字を垂直方向に揃えるために必要なだけのスペースで区切られています。 閉じ括弧と接尾辞(存在する場合)はそのまま。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース(形式:単一行の入力とそれに続く出力と二重の改行): def foo(bar, baz, quux): def foo(bar, baz, quux): int main() { int main() { fn f(a: i32, b: f64, c: String) -> (String, Vec<i32>) { fn f(a: i32, b: f64, c: String) -> …
16 code-golf  string 

9
文字列を使用したベース変換
前書き 過去にいくつかの基本変換の課題がありましたが、任意の長さの数値(つまり、整数データ型をオーバーフローさせるほど長い数値)に取り組むように設計されたものは多くありませんでした。複雑です。このように基本コードの変更をどのように実行できるか興味があります。 チャレンジ あるベースの文字列を別のベースの文字列に変換できるプログラムまたは関数を選択した言語で記述します。入力は、変換される数値(文字列)、from-base(10進数)、to-base(10進数)、および文字セット(string)である必要があります。出力は、変換された数値(文字列)でなければなりません。 いくつかの詳細と規則は次のとおりです。 変換される数値は負でない整数になり(以降-と.文字セットであってもよいです)。出力も同様です。 先行ゼロ(文字セットの最初の文字)は削除する必要があります。結果がゼロの場合、単一のゼロ桁が残るはずです。 サポートされる最小ベース範囲は2〜95で、印刷可能なASCII文字で構成されます。 変換する数値の入力、文字セット、および出力は、すべて文字列データ型である必要があります。基数は、基数10の整数データ型(または整数浮動小数点数)でなければなりません。 入力数値文字列の長さは非常に長くなる場合があります。賢明な最小値を定量化することは困難ですが、少なくとも1000文字を処理し、まともなマシンで10秒未満で100文字の入力を完了することができると期待しています(この種の問題には非常に寛大ですが、私はしたくない焦点となる速度)。 組み込みの基本変更機能は使用できません。 文字セットの入力は、通常の0-9a-z ...などだけでなく、任意の配置にすることができます。 有効な入力のみが使用されると仮定します。エラー処理を心配しないでください。 勝者は、基準を達成する最短のコードによって決定されます。少なくとも7から10日以内に、または十分な提出があった場合は、それらが選択されます。同点の場合、より高速に実行されるコードが勝者になります。速度/パフォーマンスが十分に近い場合、先に出された答えが勝ちです。 例 コードで処理できる入力と出力の例を次に示します。 F("1010101", 2, 10, "0123456789") > 85 F("0001010101", 2, 10, "0123456789") > 85 F("85", 10, 2, "0123456789") > 1010101 F("1010101", 10, 2, "0123456789") > 11110110100110110101 F("bababab", 2, 10, "abcdefghij") > if F("10", 3, 2, …

1
ここに住んでもいいですか?
ゲームTerrariaでは、ゲームメカニクスの1つにNPCが入居できるように家を建てることが含まれます。有効な家と見なされるかどうかについての厳しいルールセットがあります。ルールのリストは次のとおりです。 家の総面積は、少なくとも60平方タイルで、750未満でなければなりません。また、外枠を含む家のサイズは、少なくとも次のいずれかでなければなりません。 5x12 6x10 7x9 8x8 9x7 10x6 12x5 15x4 簡単にするために、次のことを安全に想定できます。a)すべての入力家は長方形であり、b)#家の中には固体のタイルはありません。こちらが12x6フレームです(美しいASCIIで描かれています): ############ # # # # # # # # ############ 家は背景の壁で覆われている必要があります。これらは固体のタイルではなく、三次元の家の後ろの壁です。穴は許可されますが、4x4より大きくすることはできません。行に5つ以上のスペース文字の行または列がある場合、これは4x4より大きい穴であり、家は無効です。複数の穴も許可されますが、少なくとも1つの壁が離れている必要があります。 ############ #**********# #**********# #**********# #**********# ############ ############ #* * # #* * # #* * # #****** # ############ (Still acceptable since neither hole is larger than 4x4 …
16 code-golf  string  game  grid 

3
単語のリストをフォーマットする
課題は、各行にできるだけ多くの単語が含まれ、単語が不必要に切り捨てられないように、指定された文字数以下の複数行にわたって単語のリストをフォーマットすることです。 入力 入力は、スペースで区切られた単語のリストと、少なくとも4の数字になります。 出力 出力は、行にグループ化された入力単語である必要があります。これにより、行に入力番号より多くの文字が含まれることはありません。単語は入力された順に出力される必要があります。単語はカンマで区切り、次にスペースで区切る必要があります。ただし、各行の最後はスペースは不要です。単語が長すぎて行に収まらない場合は、他の規則に従って単語をできるだけ短く切り取り、最後に「...」を追加する必要があります。 テストケース Input: foo bar baz qux 12 Output: foo, bar, baz, qux Input: foo bar baz qux 5 Output: foo, bar, baz, qux Input: strength dexterity constitution intelligence wisdom charisma 10 Output: strength, dexterity, consti..., intell..., wisdom, charisma Input: quas wex exort 4 Output: ..., …
16 code-golf  string 

30
除外して追加
仕事 タスクは非常に簡単です。数字、大文字、小文字を含む空でない文字列が与えられた場合、残りの数字の合計を出力します。例えば: a1wAD5qw45REs5Fw4eRQR33wqe4WE すべての文字を除外すると、次のようになります。 1 5 45 5 4 33 4 これらの数値の合計は1 + 5 + 45 + 5 + 4 + 33 + 4 = 97です。したがって、出力はになります97。 テストケース a > 0 0 > 0 5 > 5 10 > 10 a0A > 0 1a1 > 2 11a1 > 12 4dasQWE65asAs5dAa5dWD > …

28
Revu'aを綴る
実際には、Atbash Self PalindromesやGeneralized Gematria Calculatorのどちらにも触発されていません。 ストリング所与の長さのN、出力Revu'aシーケンスの最初の文字であり、Sの最初の2つの文字S、...第nは -2の文字S、最初のn -1文字の、全体の。 文字列は、強い指向性を持ち、0x0000〜0xFFFFの範囲にあるUnicode(必要なエンコード)文字のみで構成されます。ただし、方向性制御文字は発生しません。任意の文字列のすべての文字は同じ方向性を持ちます。 ["t","te","tes","test"]スペースで区切られた文字列"t te tes test"、複数行のテキストttetestest、事前にフォーマットされた配列として配列表記で返すことができますt て テス テスト、または同様のもの。先頭、区切り、末尾のスペースの量は重要ではなく、末尾の改行も重要ではありません。疑問がある場合は尋ねます。 右から左への入力は、正しい順序で右から左への出力になる必要があります。 入力:"נחמן" 出力:"נ נח נחמ נחמן"またはנ נח נחמ נחמן 、または["נ","נח","נחמ","נחמן"]。無効な結果の中には"נחמן נחמ נח נ"、"ן מן חמן נחמן"、と"נחמן חמן מן ן"。

4
素朴な挑戦
この課題は、オリバーサックスの次の引用に触発されています。 「11歳のとき、「私はナトリウムです」と言うことができました(要素11)。現在79歳のとき、私は金です。」-オリバーサックス 文字列で数字を見つけて、対応する要素の記号に置き換えてほしい。(1はH、2はHe、3はLiなど)。従うべきいくつかのルールがあります。 通常、1桁と2桁は対応する要素に置き換えられます。数字の先頭の0は無視します。数字に0しかない場合は、無視してください。例えば、1 01 10 0 00となりH H Ne 0 00 2桁を超える数字は、2つのグループに分けられます。奇数桁の場合、末尾に余分な1桁が必要です。例えば、0153 5301 153なるHI IH PLiこの規則の、あなただけの1から99までの要素を知っている必要がありますので 数字は、それらを囲む文字に関係なく同じように扱われ、コンマと小数点は数字の一部ではありません。P90X 42,800 3.14159になるだろうPThX Mo,Hg0 Li.SiPF 入力/出力の例(I / O): I: 32289216 O: GeNiUS I: J08017 5811 O: JOHN CeNa I: M18227 0592tt10r O: MArTiN BUttNer I: De072816 O: DeNNiS I: D088r1907085 O: DOOrKNOB I: …

1
長さのリスト、およびそれらの長さを表す文字列が与えられた場合、それらは一致しますか?
長さのリストを表すパターンと、それらの長さを表す文字列が与えられた場合、それらは一致しますか? 興味のある人にとって、これは、ノノグラムの行または列が正しいかどうかを検証することと同等の質問です。ただし、これらのパズルになじみのない人にとって質問の混乱を少なくするために、Nonogramsに関連するすべての言語を省略しました。 入力 改行で区切られた2行のデータ。 最初の行は、スペースで区切られた整数のリストです。例: 3 6 1 4 6 この行は、2番目の行が一致しなければならない正の長さの不明な空のスペースで区切られた、整数リストに等しいサイズの塗りつぶされたスペースのパターンを示しています。一致した文字列の先頭と末尾に空のスペースが存在する場合もあります。 2行目は、1行目のパターンと一致する場合と一致しない場合があります。それは完全で構成され#、xと_。この行の長さは、少なくとも最初の行の整数の合計と、異なる整数の数から1を引いた長さであることが保証されており、これより長くすることもできます。したがって、この場合の2行目は、少なくとも24文字、または24文字の長さが保証されています。最初の行のパターンと一致する24文字の行の例を次に示します。(3+6+1+4+6) + (5) - 1 ###_######_#_####_###### 記号の意味: # これは塗りつぶされたボックスを表します x これは、「空であることが保証されている」とマークされたボックスを表します _ これは、不明/マークされていないボックスを表します。 ゴール アイデアは次のとおりです。 2行目が最初の行のパターンを満たす有効な行である可能性があることを検証します。 ERROR不明なスペースを埋めることができない場合、#またはx最初のものと一致させることができない場合は、明確なエラーメッセージを印刷する必要があります(これを選択する方法はあなた次第です。以下の例では、5文字である必要はありません)ライン。 行に完全に配置され、スペースで区切られた整数のゼロインデックスのインデックスを出力します。あいまいさがある場合は、indexを出力しないでください。 例: Input: | Output: | Reason: -------------------------------------------------------------------------- 3 6 1 4 6 | 0 1 2 3 4 | This is …

3
ASCII Lシステムレンダラー
バックグラウンド L-システム(又はLindenmayerシステム)は、とりわけ、容易にモデルフラクタルに使用することができ、平行書き換えシステムです。この質問は、決定論的でコンテキストのないLシステムに関するものです。これらは、アルファベットの記号、初期公理文字列、および各アルファベット記号を新しい文字列にマッピングする一連の書き換えルールで構成されています。ルールは公理に並行して適用され、新しい文字列が生成されます。その後、このプロセスが繰り返されます。 たとえば、公理「A」とルールA = ABA; B = BBBを使用するシステムは、文字列「ABA」、「ABABBBABA」、「ABABBBABABBBBBBBBBABABBBABA」などのシーケンスを生成します。簡潔にするために、明示的に言及しませんLシステムを定義するときのアルファベット。さらに、明示的な書き換えルールのないシンボルは変更されていないと見なされます(つまり、シンボルAのデフォルトルールはA = Aです)。 Lシステムは、タートルグラフィックスの形式を使用して視覚化できます。慣例により、亀は右向きになります。文字列は、そのシンボルを反復して描画されます。Fは「1単位前方に描画」、Gは「1単位前方に移動」、+は「1単位左に曲がる」、-は「1単位右に曲がる」ことを意味します単位"。文字列内の他のすべてのシンボルは無視されます。この質問のために、角度単位は常に90°であると想定されています。 仕事 Lシステムの仕様と反復回数が指定されている場合、プログラムは、ボックス描画文字を使用して、結果の文字列のASCIIレンダリング(上記の説明を参照)を出力する必要があります。 パラメーターは、公理、書き換え規則(方程式の;区切りのリストとして)、および書き換えの反復回数を含むスペース区切りの文字列として渡されます。たとえば、入力 "FF = FGF; G = GGG 2"は文字列 "FGFGGGFGF"を生成するため、適切なギャップで4本の線を描画します。 Lシステムで使用される記号は、スペースとセミコロンを除く任意のASCII文字にすることができます。シンボルごとに指定される明示的なルールは最大で1つです(上記のように、デフォルトの書き換えルールはIDマッピングです)。 出力には常に少なくとも1つのFが含まれると想定できます。 出力には、次のUNICODEボックス描画文字を使用する必要があります、視覚化を表すを:─(U + 2500)、│(U + 2502)、┌(U + 250C)、┐(U + 2510)、└(U + 2514) 、┘(U + 2518)、├(U + 251C)、┤(U + 2524)、┬(U + 252C)、┴(U + 2534)、┼(U + 253C)、╴(U + 2574)、 …

7
スクランブルキーで入力する
あなたの友人はコンピューターがあまり上手ではないので、実際の冗談で誰かがキーボードの文字(az)をスクランブルしました。彼が座ってキーボードを見て名前を入力しようとすると、彼は文字がスクランブルされていることに気づき、助けを求めました。 あなたは賢いので、彼が自分の名前を入力してから、彼の名前の代わりに画面に表示されるものを繰り返し再入力すると、彼は最終的に彼の名前を入力することに成功することを知っています。また、親切でキーを再配置しますが、成功するのに何ターンかかるかを知りたいです。 あなたの仕事は、文字をシャッフルし、友人の名前がターン数を計算するプログラムまたは関数を書くことです。 入力の詳細: 2つの文字列が、言語に便利な構造の入力として与えられます。 最初の文字列は、古い小文字のアルファベット順の新しい小文字のリストです。(最初の文字はの位置にありa、最後の文字はの位置にありzます。)文字列には常に何らかの変更が発生します。 2番目の文字列は名前です。印刷可能なASCII文字を含めることができますが、大文字と小文字のアルファベットのみがシャッフルされます。名前自体はalでシャッフルされないかもしれません。 出力の詳細: 出力は、最小限必要な巻き数の単一の整数です。改行はオプションです。 例: 入力: 'abcfdeghijklmnopqrstuvwxyz' 'Mr. John Doe'(d、e、fの位置が変更されました) 出力:( 3表示される名前はMr. John Fod=> Mr. John Eof=> Mr. John Doe) 入力: 'nopqrstuvwxyzabcdefghijklm' 'Mr. John Doe'(ROT13暗号) 出力:( 2文字を含むすべての入力名は2、元の名前を生成するためにラウンドします。) 入力: 'aebcdjfghiqklmnopzrstuvwxy' 'John Doe' 出力: 140 これはコードゴルフなので、最短のエントリが優先されます。

9
人間が読める時間間隔を日付コンポーネントに変換する
チャレンジ 人間が読める時間間隔をフォームの日付コンポーネントに変換する最短のプログラムを作成します。 {±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS} サンプルケース 各テストケースは2行で、入力の後に出力が続きます。 1 year 2 months 3 seconds {1|2|0|0|0|3} -2 day 5 year 8months {5|8|-2|0|0|0} 3day 9 years 4 seconds -5 minute 4 years 4 years -3seconds {17|0|3|0|-5|1} ルール strtotimeジョブ全体を実行する組み込み関数を使用することはできません。 最短コード勝利(バイト) 出力をstdoutファイルまたはファイルに印刷できます。結果は関数によって返すこともできますが、それはユーザー次第です トークンは単数形でも複数形でもかまいません。 コンポーネントはランダムな順序である場合があります 番号とトークンの間に空白がない場合があります 時間間隔が正の場合、符号はオプションです(入力および出力) コンポーネントが複数回表示される場合、値を追加する必要があります 各コンポーネントには独自の記号があります コンポーネントは個別に処理する必要があります(たとえば80 minutes、出力では80のままです) 入力は小文字であることが保証されています ハッピーゴルフ!
16 code-golf  string  date 

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