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

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

8
ディスクリートベイカーズマップ
前書き ベーカーのマップは、混沌とした挙動を示す重要な力学系です。以下のように直感的に定義された単位正方形からそれ自体への関数です。 正方形を垂直に半分に切り、サイズが2つの長方形になるようにします0.5×1。 右半分を左上に積み重ね、サイズが1つの長方形になる 0.5×2 長方形を圧縮して1×1正方形に戻します。 この課題では、この変換の個別バージョンを実装します。 入出力 入力は、印刷可能なASCII文字の2D配列と2m×2n一部のサイズの空白ですm, n > 0。出力は、配列を使用して、次のように取得された同様の6×4配列です ABCDEF GHIJKL MNOPQR STUVWX 例として。最初に、配列の右半分を左半分の上に積み重ねます。 DEF JKL PQR VWX ABC GHI MNO STU 次に、列を文字のペアに分割し、各ペアを時計回りに90度ずつ独立して回転させ、背の高い長方形を「圧縮」して元の形状に戻します。 JDKELF VPWQXR GAHBIC SMTNUO これは、上記の配列の正しい出力です。 ルール 入力および出力形式は柔軟です。改行で区切られた文字列、文字列のリスト、または文字の2D配列を使用できます。ただし、入力と出力がなければなりません正確に同じフォーマットを持っている:あなたは、任意の有効な入力の上ご応募を任意の回数繰り返すことができなければなりません。 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース Input: 12 34 Output: 42 31 Input: Hell ! o d - lroW Output: lol …
15 code-golf  string  grid 

25
文字列を対応するRövarspråketに変換します
Rövarspråket Rövarspråketは、アストリッド・リンドグレンによるKalle Blomkvistに関する本からのスウェーデンの子供たちが演じる単語ゲームです。 基本的なルールは次のとおりです(Wikipediaより): すべての子音(発音ではなくスペルの問題)が2倍になり、その間にoが挿入されます。 母音はそのまま残されます。 いくつかの例: 「hello」->「hohelollolo」 "Minsvävareärfull medål"-> "MoMinonsosvovävovaroreärorfofulollol momedodålol" スウェーデン語の子音は英語のものと同じなので、プログラムはスウェーデン語と英語の両方のエントリで動作するはずです。 この場合、文字「y」は子音と見なされます-ほとんどの場合そうです。 あなたのタスク: 関数またはstdinを介して入力されたスウェーデン語の文字列を、同等のRövarspråketに変換するプログラムを作成します。バイト単位の最短回答が勝ちます!
15 code-golf  string 

3
最短のブラケット番号を見つける
ブラケット番号は、左ブラケット、スペース、および右ブラケット([ ])のみを使用して大きな整数を表す簡単な方法を提供します。 ブラケット番号は、チャンク[...]と呼ばれる一致するブラケットの1つ以上のペアの文字列として定義されます。それぞれのペアは、0個以上のスペースで隣接するものと区切られます。 各チャンク間のスペースの数は、それらの間のハイパーオペレーションを定義します。スペースなしは加算を意味し、1スペースは乗算を意味し、2スペースは累乗を意味し、3スペースはテトラションを意味します。高次のハイパーオペレーションが優先されるため、累乗の前にテトラションが発生し、乗算の前に累乗が発生します。これらも右結合なので、a^b^cとして計算されa^(b^c)ます。(しかしa^b*c、まだ(a^b)*cです。) 各チャンクは空([])であるか、別のブラケット番号を含む場合があります。空のチャンクの値は0です。空でないチャンクの値は、含まれているブラケット番号に1を加えた値です。 例:(^^、テトレーションされ^^^ているペンテーション) [[]]0([])1ずつ増加するため、値1 [[[]]]値は2ですが[[]][[]]、2つの値([[]])が追加されているため、値も2です。 [[[]]] [[[[]]] [[[[]]]]][[[]]] 値は20 =(2 *((2 ^ 3)+1))+ 2です [[[]]] [[[[]]]] 値は65536 = 2 ^^^ 3 = 2 ^^(2 ^^ 2)= 2 ^^ 4 == 2 ^(2 ^(2 ^ 2)) [[[[]]]] [[[]]] [[]] 値は7625597484987 = 3 ^^^(2 ^^^ 1)= 3 ^^^ 2 …

3
1文字あたりの文字数は?
http://shakespeare.mit.edu/では、シェークスピアの各劇の全文を1ページで見つけることができます(例:Hamlet)。 http://shakespeare.mit.edu/hamlet/full.htmlなど、stdinから芝居のURLを取り込むスクリプトを作成し、各芝居のキャラクターがstdoutに話しかけたテキストキャラクターの数を出力します。最も話しました。 演劇/シーン/演技のタイトルは、明らかに対話としてカウントされず、キャラクター名もカウントされません。斜体のテキストと[角かっこで囲まれたテキスト]は実際のダイアログではないため、カウントしないでください。対話内のスペースやその他の句読点はカウントする必要があります。 (演劇の形式は、すべてを確認したわけではありませんが、非常に一貫しているように見えます。見落としている場合は教えてください。あなたの脚本は詩のために機能する必要はありません。) 例 これは、Much Ado About Nothingのシミュレーションセクションで、出力に期待するものを示しています。 何もしないことについて シーン0。 メッセンジャー します。 美女 行う。 レオナト あなたは決してしません。 美女 番号。 期待される出力: LEONATO 15 Messenger 7 BEATRICE 6 得点 これはコードゴルフです。バイト単位の最小のプログラムが勝ちます。

5
バイナリ畳み込み
バイナリ畳み込みは数値Mで記述され、数値に適用されNます。のバイナリ表現の各ビットについてM、ビットが設定されている場合(1)、出力の対応するビットは、対応するビットに隣接する2ビットをXORすることで与えられますN(必要に応じて折り返します)。ビットが設定されていない場合(0)、出力の対応するビットはの対応するビットによって与えられNます。 実用的な例(8ビット値): ましょうN = 150、M = 59。それらのバイナリ表現は(それぞれ)10010110と00111011です。 Mのバイナリ表現に基づいて、ビット0、1、3、4、および5が畳み込まれます。 ビット0の結果は、ビット1と7をXORすることで得られ1ます(折り返すため)。 ビット1の結果は、ビット0と2のXOR演算によって得られ0ます。 ビット2の結果は、元のビット2で与えられ、を生成し1ます。 ビット3の結果は、ビット2と4のXORによって得られ0ます。 ビット4の結果は、ビット3と5のXOR演算によって得られ0ます。 ビット5の結果は、ビット4と6のXORによって得られ1ます。 ビット6と7の結果は、元のビット6と7で与えられ、とを生成0し1ます。 したがって、出力は10100110(166)です。 チャレンジ とが与えられたときN、on Mによって記述されたバイナリ畳み込みを実行した結果を出力しMますN。入力および出力は、便利で一貫性があり、明確な形式である場合があります。Nそして、M常に(包括的)範囲[0, 255](8ビット符号なし整数)にあり、バイナリ畳み込みを実行するために、バイナリ表現を8ビットにパディングする必要があります。 テストケース 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

13
ビッグブラザーを引用
タスク:実行時にプログラムに次の2つの引用符のいずれかをランダムに選択させ、その1つの引用符を表示どおりに印刷します。 1: Under the spreading chestnut tree I sold you and you sold me. There lie they, and here lie we Under the spreading chestnut tree. 2: WAR IS PEACE. FREEDOM IS SLAVERY. IGNORANCE IS STRENGTH. 制限事項:言葉spreading、chestnut、PEACE、FREEDOM、とSTRENGTH しなければならないあなたのコードで表示されます。上記の2つの引用符からの単語は、コード内で複数回使用できません。 最短のソリューションが勝ちます。

20
10進表現のすべての複数桁の部分文字列も素数であるすべての正数を印刷/出力します。
仕事 あなたの仕事は、すべての正数を印刷または出力することであり、その場合、その10進表現の複数桁の部分文字列もすべて素数になります。数値に少なくとも2桁ある場合、これは数値自体も素数である必要があることを意味します。 例 6197内のすべての多桁のストリングのためのシーケンスである6197:すなわち、素数である61、19、97、619、197、6197(それ自体)。 6は素数ではないが、の複数桁の部分文字列ではない6197ため、シーケンス内にあることに注意してください。66197 8内のすべての複数桁の部分文字列8は素数であるため、シーケンス内にもあります。には複数桁の部分文字列はない8ため、これは空虚な真実の場合です。 スペック 標準の抜け穴が適用されますが、出力をハードコーディングしたり、プログラムに出力に関連する情報を保存したりすることはできません。 出力の番号は任意の順序で指定できます。 出力内の数字は重複することが許可されています。 出力の代わりに印刷することを選択した場合、任意の区切り文字を使用できます。 出力の代わりに印刷することを選択した場合、出力の前置または後置、あるいはその両方が許可されます。 区切り文字、接頭辞、および接尾辞に数字を含めることはできません(U + 0030〜U + 0039)。 全リスト(58アイテム) 1 2 3 4 5 6 7 8 9 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 113 131 …

13
コンピューター暗号
前書き: 私は子供の頃にコンパイルしたドキュメントにさまざまな暗号を保存しており、チャレンジに最も適していると考えたものをいくつか選んで(些細ではなく、難しくもありません)チャレンジに変換しました。それらのほとんどはまだサンドボックス内にあり、それらすべてを投稿するのか、それともほんの少数を投稿するのかはまだわかりません。しかし、ここで最初のものを始めます。 Computer Cipherは、指定されたテキストを指定されたの「ランダムな」文字グループに暗号化しますlength。そのようなグループに数字が含まれている場合、その数字を使用して、暗号化された文字の独自のグループにインデックスを付けます。グループに数字がない場合、最初の文字が使用されることを意味します。 たとえばthis is a computer cipher、指定された長さのテキストを暗号化したいとしましょう5。これは潜在的な出力です(注:次の例では、番号は1から始まります)。 t h i s i s a c o m p u t e r c i p h e r (without spaces of course, but added as clarification) qu5dt hprit k3iqb osyw2 jii2o m5uzs akiwb hwpc4 eoo3j muxer z4lpc 4lsuw …

5
実生活での活用
@アダムの Dyalog APLは拡張、⍢オペレータ手段(下)コンジュゲーションを:次につの機能は、第二の機能、最初の逆を適用します。共役の観点から実際のアクションを考えるのは楽しいです: 問題はgによって別のドメインに変換され、そこでfによってより簡単に解決された後、元のドメインに変換されます。実生活の例は「麻酔下」です。 apply anesthetics perform surgery wake up from anesthetics チャレンジ 行の逆gはに「un」が付加されg、その逆も同様です。s"under"として、その順序でその間の逆行を定義しますs。f入力の各行ごとに: もし f、両方の発生およびその逆の、何もしません f他のアクションの「下」にない場合、印刷f fがlineの「下」にある場合g、f + " under " + gwhere +is concatenationを出力します。 入力 スペースと小文字で構成される空でない複数行の文字列、または文字列のリストなど(代わりに大文字を使用できます)。正確に1行は「un」で始まります。他の行の逆になります。空の行はありません。 出力 入力と同じ形式、または標準I / Oで許可されている形式で出力します。 テストケース: Input: apply anesthetics perform surgery unapply anesthetics Output: perform surgery under apply anesthetics Input: unite asia establish …

19
文字列内の数値の加減算
文字列を入力として受け取り、文字列内のすべての数字の加算/減算を実行し、それらの演算の合計を結果として出力します。 ルール 文字列の数字は左から右に読み取られます 数字(n)が奇数の場合、次の数字(n + n1)で加算を実行します 数字(n)が偶数の場合、次の数字(n-n1)で減算を実行します 文字列の最後の数字に達した場合は、文字列の最初の数字で操作を実行します 出力は、結果のすべての値の合計になります 文字列に1桁しかない場合は、それ自体で操作を実行します(n + nまたはnn) 文字列に数字がない場合、出力は0 例 Input: r5e6o9mm!/3708dvc Process: (5+6) + (6-9) + (9+3) + (3+7) + (7+0) + (0-8) + (8-5) Output: 32 ノート 機能または完全なプログラムのいずれかが受け入れられます 最大入力長は、文字列入力の言語の制限に依存します 文字入力に制限はありませんが、半角数字のみが出力にカウントされます 最少バイト数が勝つ
14 code-golf  string 

10
Kaadiシステムのデコード
埋もれた宝の山を描いた古いインドの写本に出会いました。原稿には宝物の場所も記載されていますが、一部の重要な数字は間接的にテキストにエンコードされています。テキストは、より一般的な「カタパヤディ」システムの制限されたサブセットである「カアディ」システムを使用していることがわかります。 (カタパヤディシステムは、数字を文字としてエンコードする古代インドのシステムで、長い数字を覚えるためのニーモニックとしてよく使用されます。) ここでのタスクは、Kaadiシステムでエンコードされたテキストをデコードし、数値を出力することです。 詳細 入力文字 KaadiシステムはKatapayadiシステムのルールに基づいていますが、子音の最初の行のみを使用します。ここのテキストはラテンアルファベットに音訳されており、次のもののみが含まれていることがわかっています。 母音「a」、「e」、「i」、「o」、「u」 子音「g」、「k」、「c」、「j」、およびそれらの大文字の形式(これらの子音の吸引形式を表す)、および「ṅ」および「ñ」。 (言語でより便利な場合は、「ṅ」を「ng」、「ñ」を「ny」として受け取り、処理することもできます。) 値の割り当て このシステムでは、 母音が続く子音にはそれぞれ数字が関連付けられます。これらは: 'k'=>1, 'K'=>2, 'g'=>3, 'G'=>4, 'ṅ'=>5, 'c'=>6, 'C'=>7, 'j'=>8, 'J'=>9, 'ñ'=>0 ただし、これらの子音の後に母音が続く場合にのみ、これらの値が適用されることに注意してください。 (kacCiと同じ値を持ち、kaCikaCi中央のcには母音が伴わないため、は =(1,7))。 さらに、2つの母音の最初の母音または配列は0を表し、aikaCi次のようになりますai、ka、Ci=(0,1,7) テキストの真ん中の他の場所にある余分な母音にkauCiaは値がありません:kaCiはと同じで、余分な母音は無視できます。 最終的な数値 文字の数字が計算されると、それらの数字の逆順として最終的な数値が取得されます。つまり、テキストの最初の数字が最終値の最下位桁になります。 例えば。 GucCihas GuとCi、(4、7)なので、最終値は74 kakakaGoです。(1,1,1,4)なので、答えは4111です。 guṅKoある(3,2)ので、(23をコードgungKoASCIIを使用する場合-同等。) 入力 Kaadiエンコードされたテキストを含む文字列 母音と上記の子音のみが含まれます 母音は常に小文字で、2個以下のグループで発生します Unicode文字「ṅ」と「ñ」またはASCII同等の「ng」と「ny」のいずれかとして、5と0の文字を受け入れることを選択できます(どちらの形式でも小文字です) スペースや句読点がないと仮定できます 出力 上記の規則で与えられたテキストの数値 空の入力の場合、0に加えて、選択した言語の空の出力またはfalse-y出力が受け入れられます 無効な入力(母音と上記の子音以外の入力)の場合、出力は未定義-何でも テストケース "GucCi" => 74 "kakakaGo" => …

24
分割して大文字にする
チャレンジ: 特定の位置で分割された文字列を指定し、指定された単語の最初の文字を大文字にします。最初の単語の最初の文字が大文字になっている場合にのみ大文字にする 入力: 文字列sと文字c。 出力: 出現するたびにc最初の文字を大文字にした文字列 例: STRING(s) CHARACTER(c) RESULT Hello_world _ HelloWorld me,no,like , meNoLike you-got-it - youGotIt Am^I^clear ^ AmIClear go!full!caps ! goFullCaps weird&but&tRue & weirdButTRue ProbleM1fixed1no 1 ProbleMFixedNo !prob!!lem!s!Olved!! ! ProbLemSOlved 注意 : 指定された入力は常に有効です。つまり、最初の文字列は常に、置換する文字の少なくとも1つのインスタンスを持つ文字列になります。2番目は常に単一の文字になります。 入力文字列の長さは4より大きくなります。 分割する文字が少なくとも1回出現します。 入力には、文字と区切り文字のみが含まれることが保証されます(@Arnauldに感謝) 区切り文字はアルファベットではないもの(az / AZ)(@Dennisが推奨) 受賞基準: これはコードゴルフなので、各言語のバイト単位の最短コードが優先されます。 2つの間違いを指摘してくれた@JonathanAllanに感謝します。
14 code-golf  string 

30
追加と消去
文字のみで構成される1行を指定して、次のように処理します。 最初は空の文字列を維持します。 次の入力文字が文字列にある場合は、文字列から削除します。 次の入力文字が文字列にない場合は、文字列に追加します。 文字列の最終状態を出力します。 入力が少なくとも1文字(空でない)で構成されていると安全に想定できますが、出力が空でないという保証はありません。 擬似コード(これを自由にゴルフしてください): str = EMPTY for each character ch in input if ch exists in str remove all ch from str else append ch to str print str 入力は正規表現と一致します^[A-Za-z]+$。 サンプルテストケース: ABCDBCCBE -> ADCBE ABCXYZCABXAYZ -> A aAABBbAbbB -> aAbB GG -> (empty) 入力は任意の適切な方法で指定できますが、文字列として処理する必要があり、出力についても同じである必要があります。プログラムはエラーで終了しません。 各言語の最短プログラムが勝ちます! 追加(オプション):プログラムの仕組みを説明してください。ありがとうございました。
14 code-golf  string 

14
2つの名
姓も一般名である場合、人には2つの名があります。リスト内のどの氏名が2つの名であるかを判断する必要があります。 John Smith John Doe Luke Ryan Ryan Johnson Jenna Jackson Tom John 名の列に現れる名前はすべて名である可能性があります。名の列の名前の出現回数が姓の列の出現回数より大きい場合、それは間違いなく名です。 上記のリストでJohnは、名に2回、姓に1回表示されるため、間違いなく名になります。Ryan最初に1回、最後に1回出現するため、(おそらく)名です。 したがって、Tom John間違いなく2つの名があり、Luke Ryanおそらくそうです。 上記のリストを考えると、コードは以下を出力するはずです。 Luke Ryan has two first names Tom John definitely has two first names 入力 前述のように、コードはスペースで区切られたフルネームのリスト(標準入力から、1行に1つ)を受け取ります。名前にはハイフンまたはアポストロフィを含めることができますが、スペースを含む姓または名は付けられません(つまり、いいえLiam De Rosa、Liam De-RosaまたはLiam De'Rosa公平なゲームです。言い換えると、名前は一致し[-'A-Za-z]+ます)。 各フルネームは一意です(つまり、John Smith2回表示されません)。 出力 フルネームの名前(1行に1回)を印刷し、その後に、has two first namesまたはdefinitely has two first names上記の条件を満たす場合に続けて印刷します。名前は一度だけ印刷する必要があります。 2つの名ではない名前は印刷する必要はありません。 …
14 code-golf  string 

27
RLE Brainfuck方言
RLE Brainfuck (BF-RLEに関連) Brainfuck の架空のRLE(Run-Length Encoding)方言は、8つのコマンドの記号を受け入れ、数字も受け入れます。数字は、コマンドの連続した繰り返しの数を表すために使用されるため、ソースコードのランレングスエンコーディングが可能になります。 8>に等しい>>>>>>>>。 長さは常にコマンドの左側にあります。 あなたの仕事は、入力文字列(RLE Brainfuckフラグメント)を通常のBrainfuckプログラムに変換する最短のプログラム/関数を書くことです。 例えば: 入力: 10+[>+>3+>7+>10+4<-]3>2+.>+.7+2.3+.2<2+.>15+.>.3+.6-.8-.2<+.<. アウトプット: ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.>+.+++++++..+++.<<++.>+++++++++++++++.>.+++.------.--------.<<+.<. 各言語のバイトカウントの最短コードが優先されます。

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