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

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

22
テキストの三角形化
スペースを除いて印刷可能なASCII文字のみが含まれ、長さが正の三角形(1、3、6、10、15、...)であることが保証されている文字列を取り込むプログラムまたは関数を記述します。 同じ文字列を印刷するか返しますが、スペースを使用して三角形に整形します。いくつかの例は、私が意味することを最もよく示します: 入力がR次の場合、出力は R 入力がcat次の場合、出力は c a t 入力がmonk3y次の場合、出力は m o n k 3 y 入力がmeanIngfu1次の場合、出力は m e a n I n g f u 1 入力が^/\/|\/[]\次の場合、出力は ^ / \ / | \ / [ ] \ 入力が Thisrunofcharactersismeanttohavealengththatcanbeexpressedasatriangularnumber.Diditwork?Youtellme,Ican'tcountverywell,ok? 出力は T h i s r u n o f c …

5
正規表現で番号を追加する
新しいタイプの正規表現ゴルフチャレンジを試してみたいと思います。これは、正規表現の置換だけで、自明ではない計算タスクを解決するように求めます。これを可能にし、面倒な作業を少なくするために、次々にいくつかの置換を適用できます。 チャレンジ 簡単に始めましょう。2つの正の整数を含む文字列を、a ,で区切られた10進数として指定すると、合計も10進数としても含む文字列が生成されます。だから、非常に簡単に 47,987 になるはずです 1034 あなたの答えは、任意の正の整数に対して機能するはずです。 フォーマット すべての答えは置換ステップのシーケンスである必要があり、各ステップは正規表現と置換文字列で構成されます。オプションで、シーケンス内のこれらの各ステップについて、ストリングの変更が停止するまで置換を繰り返すことを選択できます。以下に送信例を示します(上記の問題は解決しません)。 Regex Modifiers Replacement Repeat? \b(\d) g |$1 No |\d <none> 1| Yes \D g <empty> No inputが与えられると123,456、このサブミッションは入力を次のように処理します。最初の置換が1回適用され、次のようになります。 |123,|456 これで、ストリングの変更が停止するまで、2番目の置換がループで適用されます。 1|23,|456 11|3,|456 111|,|456 111|,1|56 111|,11|6 111|,111| 最後に、3番目の置換が1回適用されます。 111111 ループの終了基準は、正規表現が一致を検出したかどうかではなく、文字列が変更されたかどうかであることに注意してください。(つまり、一致するものが見つかっても置換が一致する場合にも終了する可能性があります。) 得点 プライマリスコアは、提出の代替ステップの数になります。置換が繰り返されるたびに、10ステップがカウントされます。したがって、上記の例ではスコアが付けられ1 + 10 + 1 = 12ます。 タイの(あまりありそうにない)ケースでは、2次スコアはすべてのステップのサイズの合計です。各ステップで、正規表現(区切り文字なし)、修飾子、置換文字列を追加します。上記の例では、これはになります(6 + 1 + …

20
nを含むn番目の素数を出力します
この質問は、nth個の素数を見つけることのひねりになります。 チャレンジ 1つの入力を受け取りn、n10進表現にnサブトリングとしての10進表現を含むth番目の素数を出力するプログラムを作成する必要があります。 混乱した?下記は用例です。 n=1 Primes: 2, 3, 5, 7, 11 ^1 first prime that contains a 1 Output: 11 n=2 Primes: 2, 3, 5, 7, 11, 13, 17, 19, 23 ^1 ^2 second prime that contains a 2 Output: 23 n=3 Primes: 2, 3, 5, 7, 11, 13, 17, …

30
非常に長いテルザリマ
説明 非常に長いTerza Rimaの韻体系を出力します。 入力 なし。 出力 ABA BCB CDC DED EFE FGF GHG HIH IJI JKJ KLK LML MNM NON OPO PQP QRQ RSR STS TUT UVU VWV WXW XYX YZY ルール 空白または改行で区切られたスタンザを選択できるため、次のいずれかです。 ABA BCB... または ABA BCB ... 1行につき1つの末尾の空白が許可され、1つの末尾の改行が許可されます。 出力は大文字でも小文字でもかまいません。 これはcode-golfであるため、各言語のバイト単位の最短コードが優先されます。

26
二乗言葉を作る
チャレンジ あなたの仕事は、与えられた文字列入力を取り、二乗形式で入力を出力するプログラムを作成することです。空の文字列は空の文字列を返す必要があります。 例 入力が与えられた場合: golf プログラムは以下を出力するはずです。 golf o l l o flog 入力: 123 出力: 123 2 2 321 入力: a 出力: a 入力: Hello, world! 出力(との間のスペースに注意してください-w-ギャップは単なる改行ではありません): Hello, world! e d l l l r o o , w w , o o r l l l d e !dlrow …

22
バラで22.5ターン
16点コンパスローズの方向の1つである文字列が与えられた場合 入力方向にすぐ隣接する2つの方向を時計回りに出力します。 具体的には、これら(およびこれらのみ)の入出力ペアを処理する必要があります。 Input Output N NNW NNE NNE N NE NE NNE ENE ENE NE E E ENE ESE ESE E SE SE ESE SSE SSE SE S S SSE SSW SSW S SW SW SSW WSW WSW SW W W WSW WNW WNW W NW NW WNW NNW …

14
単語のリストをバックスペースで再入力
ここではどのようにですバックスペース-と-がretype 1つの文字列から別のものに: 最初の文字列から始めます。 結果が2番目の文字列のプレフィックスになるまで、末尾の文字を削除します。(これには0ステップかかる場合があります。) 結果が2番目の文字列と等しくなるまで、最後に文字を追加します。(これも0ステップかかります。) たとえば、からのパスfooabcをfooxyz次のようになります。 fooabc fooab fooa foo foox fooxy fooxyz 仕事 単語のリストが与えられたら、空の文字列から連続してリスト内のすべての単語にバックスペースで再入力し、空の文字列に戻るプログラムを作成します。すべての中間文字列を出力します。 たとえば、入力リストを指定する["abc", "abd", "aefg", "h"]と、出力は次のようになります。 a ab abc ab abd ab a ae aef aefg aef ae a h ルール 文字列のリスト、または任意の区切り文字を含む単一の文字列を返すか、印刷することができます。オプションで、最初と最後の空の文字列を含めることができます。入力には少なくとも1つの単語が含まれることが保証され、各単語には小文字のASCII文字(a– z)のみが含まれることが保証されます。編集:入力内の連続する文字列は、互いに等しくないことが保証されます。 これはcode-golfです。バイト単位の最短コードが優先されます。 Python 3のリファレンス実装:オンラインで試してみてください!
38 code-golf  string 

30
ババブからzyzyzまでのすべての単語
あなたの仕事は、以下の構造を持つ5文字ごとの読み取り可能なリストを出力するプログラムを作成することです。 子音-母音-子音-母音-子音 出力はアルファベットごとにソートされ、1行に1つの単語があり、単語が2回繰り返されることはありません。小文字でも大文字でもかまいませんが、混在させることはできません。したがって、リストは次のように開始および終了できます。 babab babac babad ... zyzyw zyzyx zyzyz 母音はa - e - i - o - u - yであり、他の20個の英語のアルファベット文字は子音です。 単語は実際の辞書の単語である必要はありません。 最短のコードが優先されます。 注:数年前、私は大学のWebサイトでまさにそれを行ったプログラムを見つけました。私の姓と名がcvcvc制約に適合することがわかり、私は自分自身をグーグルで探していました。

4
あなたはロマナイザー、ベイビー
日本語のローマ字化は、日本語のテキストをラテン文字に変換しています。このチャレンジでは、入力として日本語の文字列が与えられ、それらを正しいASCII文字列に変換することが期待されます。 知っておくべきこと 日本語には、ひらがな(短い単語に使用される曲線のある文字)、カタカナ(他の言語から借用した音や単語に使用される角度のある文字)、および漢字(元々は中国語に由来する密集した文字)の3つの表記体系があります。この課題では、ひらがなだけを心配します。 ひらがなの五十音には46文字あります。各文字は音節を表します。キャラクターは、最初の音(子音)と2番目の音(母音)で構成されています。順序の列はaiueoです。 : あいうえお k: かきくけこ s: さしすせそ t: たちつてと n: なにぬねの h: はひふへほ m: まみむめも y: や ゆ よ r: らりるれろ w: わ を N: ん (この表をコピーして貼り付ける場合、表意文字スペースU + 3000を使用してyとwの間隔を空けていることに注意してください) したがって、たとえば、あとめはの出力を生成する必要がありますatome。最初の文字はa、2番目はto、3番目はmeです。 例外 他の優れた言語と同様に、日本語にはその規則の例外があり、ひらがなの表にはいくつかの例外があります。これらの文字の発音は、表内の位置が意味するものとはわずかに異なります。 し:shi、not si ち:chi、ti nottsu:tsu、not tu ふ:fu、nothu 濁天゛ 「濁」という言葉は「泥だらけのマーク」を意味します:濁点は、音声を(通常)有声音に変換します。たとえば、kaかはか゛に変わりgaます。変更の完全なリスト: k→ g s→ z t→ d h→b …

1
Meeesesessessesseesseessedeseded upp teeexexextextを修正する
これは、月曜日のミニゴルフ#6に触発されています:Meeesesessess upp teeexexextext バックグラウンド ETHproductionは、彼の通常のWebページにテキストを入力するのが困難です。彼が数字または文字を使用するたびに、テキストはmeeesesessessesseesseessedesdesededになります。あなたの仕事は、通常の動作が達成されるように彼がタイプするのを助けることです。 変換 変換は、英数字[0-9A-Za-z]以外の文字で区切られた英数字()文字の実行に影響します。次の例では、最初の行が2番目の行に変換されます(他の行は変換の内訳を示しています) An12num: Annn1n12n12nn12nn12nun12nun12numn12num A nn n1 n12 n12nn12n n12nun12nu n12numn12num 特に、最初の文字以降の英数字は、最初の文字を除き、これまでの実行全体に変換されます。さらに、文字が(数字ではなく)文字の場合、文字は実行の2倍になります。 ありがたいことに、バックスペースは最後の文字を削除し、実行の開始もリセットします。 仕事 今回は、タスクは変換を実行しないことです。代わりに、入力文字列が与えられた場合、エンコードされたテキストを返さなければなりません。エンコードされたテキストは、変換されると入力になります。出力は\<char>、単一の文字としてカウントされる場合、できるだけ短くする必要があります。 テキストは次のようにエンコードされます。 \ -> \\ backspace character -> \b linefeed -> \n プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 テストケース 各テストケースは2行で、1行目は入力、2行目は出力です。 Heeeeeelp me. It shouldn't be messed up. Hee \blp\b me\b. It\b sh\bou\bld\bn't be\b me\bss\bed\b up\b. alert("Hello, …
38 code-golf  string 

17
ガーランド化
ガーランドの言葉 花輪の言葉は、それはそれで始まる同じ文字で終わっているため、花輪のようにつなぎ合わせすることができます言葉です。これらの文字のグループは重複することもあります! たとえば、undergroundは3、同じ3文字で開始および終了するため、順序のガーランド語ですund。これは、のように一緒に張ることができることを意味しundergroundergrounderground...ます。 alfalfaガーランドの言葉も!順序は4です。開始と終了はalfaです。次のように連結できますalfalfalfalfa。 私がガーランド化と呼ぶプロセスnは、ガーランドの単語の順序を決定したら、元の単語を取得し、それをガーランドn回としてループさせるために必要なセグメントを追加することです。だから、onion順序2ガーランドの単語なので、取得onionする最初の2文字を切り取りion、取得する終了2時間に追加しますonionionion。 目的 作成したプログラムや機能からの入力を受け取り、標準入力または関数の引数とプリントアウトしたりgarlandified言葉を返しました。 すべての単語は小文字であり、単語の最高位はlength(word) - 1です。 I / Oの例 "onion" --> "onionionion" "jackhammer" --> "jackhammer" "abracadabra" --> "abracadabracadabracadabracadabracadabra" "" --> "" "zvioz" --> "zviozvioz" "alfalfa" --> "alfalfalfalfalfalfa" "aaaa" --> "aaaaaaa" これはcode-golfなので、最小バイト数が勝ちます。
38 code-golf  string 

3
ルービックキューブを解く
ルービックキューブ(3 * 3 * 3)を妥当な時間内に解決する最短のプログラムを作成し、移動します(たとえば、マシン上で最大5秒、1000回未満の移動)。 入力の形式は次のとおりです。 UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (この特定の入力は、解決されたキューブを表します)。 最初の12個の2文字の文字列は、UF、UR、... BL位置のエッジ(U =上、F =前、R =右、B =後、L =左、D =下)であり、次の8 3文字の文字列は、UFR、URB、... DBR位置のコーナーです。 出力は、次の形式で一連の動きを示します。 D+ L2 U+ F+ D+ L+ D+ F+ U- F+ D1またはD +はD(下)面を時計回りに90度回転することを表し、L2はL面を180度回転し、U3またはU-はU面を反時計回りに90度回転することを表します。 …

30
干し草の山で針を見つける
すべて同じ印刷可能なASCII文字で構成される少なくとも2x2のサイズの長方形の干し草が与えられた場合、異なる文字である針の位置(左上から数えて)を出力します。 たとえば、次のhaystackが入力された場合: ##### ###N# ##### ##### 出力は、3,1インデックスがゼロの場合(このチャレンジで使用するもの)または4,2インデックスが1の場合です。 haystackは、印刷可能な任意のASCII文字で構成できます。 ^^^ ^^^ ^N^ ^^^ ^^^ ^^^ 出力: 1,2 針は他の印刷可能なASCII文字になります。 jjjjjj j@jjjj jjjjjj 出力 1,1 コーナーに針を置くことも可能です: Z8 88 出力 0,0 88 8Z 出力 1,1 または、針を端に置くには: >>>>>>>>>> >>>>>>>>>: >>>>>>>>>> 出力 9,1 規則と説明 入力と出力は、任意の便利な方法で指定できます。これは、文字のリストのリスト、単一の文字列などとして入力を取得できることを意味します。 結果をSTDOUTに出力するか、関数結果として返すことができます。提出物の中で、出力の順序を指定してください(つまり、チャレンジで使用される水平方向と垂直方向、またはその逆)。 完全なプログラムまたは機能のいずれかが受け入れられます。 あなたはしない使用する文字を選択。それが課題です。 干し草の山のサイズは少なくとも2x2であることが保証されているため、どちらが針であり、どちらが干し草であるかは明確です。 入力に含まれる針は1つだけで、サイズは1文字だけです。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
38 code-golf  string 

30
非表示のテキストを印刷する
文字列を入力として、文字列の長さに等しい数の空白文字(0x0Aおよび0x20)を出力します。 たとえば、文字列が与えられた場合、Hello, World!コードは正確に13個の空白文字のみを出力する必要があります。これらは、スペースと改行の組み合わせにすることができます。 コードは、後続の改行やスペースを追加出力しないでください。 テストケース: Input -> Amount of whitespace to output "Hello, World!" -> 13 "Hi" -> 2 " Don't Forget about Existing Whitespace! " -> 45 "" -> 0 " " -> 13 " " -> 1 得点: これはコードゴルフなので、最少バイト数が勝ちます!
38 code-golf  string 

7
IPv4アドレスの欠落している期間を修正する
IPv4アドレスを入力するときに、すべての数字を正しく入力することもありますが、1つ以上のピリオドを入力するのを忘れています。壊れたIPv4アドレスを取得し、欠落しているピリオドのすべての有効な配置を出力するプログラム(または機能)が必要です。 入力 入力は常に、有効なIPv4アドレスの変換である文字列になります(以下の詳細を参照)。常に1つ以上のピリオド文字を削除するだけで変換されます。 送信する際に、この形式以外の入力を処理する必要はありません。 出力 ピリオド文字を入力に挿入することで入力から作成できるすべての有効なIPv4アドレスを表す文字列のコレクションまたはリスト。特定の順序や形式はありません。 出力は、言語固有のリスト、またはその他の順序付けされたまたは順序付けされていないコレクションタイプです。 または、何らかの明確な方法で区切られたIPv4アドレスの文字列シーケンスである場合もあります。 1文字の区切り文字を使用して文字列を区切る場合、その1文字の区切り文字としてピリオドと数字は使用できません。数字とは異なり、区切り文字としてのピリオドはあいまいではありません(4番目ごとにピリオドが必ず区切り文字になるため)が、読みやすくするために、これを禁止しています。 IPv4アドレス形式 IPv4アドレスは実際には4つのバイナリオクテットのシーケンスにすぎませんが、このチャレンジでは制限付きドット付き10進形式を使用します。 IPv4アドレスは、3つのピリオドで区切られた4つの10進数値です。 4つの値はそれぞれ、0からまでの範囲に255あります。 数値の先頭にゼロを使用することはできません。(スタンドアロン一文字が0許可され、ゼロから始まる任意の他の数ではない:052、00、等) テストケース 入力は1行目に、出力は2行目にあります(ここでは、引用符で囲まれたコンマ区切りのリストとして構成され、コンマで区切られ、で囲まれて[ ]いますが、上記のように、適切な形式または構造を使用できます)。一部の例では、特定のルールの適用を強調するために3行目に注記があります。 192.168.1234 ["192.168.1.234", "192.168.12.34", "192.168.123.4"] 192.1681234 ["192.16.81.234", "192.168.1.234", "192.168.12.34", "192.168.123.4"] (Note: 192.1681.2.34 (etc.) is illegal because 1681 is greater than 255) 1921681.234 ["19.216.81.234", "192.16.81.234", "192.168.1.234"] 1921681234 ["19.216.81.234", "192.16.81.234", "192.168.1.234", "192.168.12.34", "192.168.123.4"] 192.168.1204 ["192.168.1.204", "192.168.120.4"] …

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