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

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

9
ひもを折りたたむ
このチャレンジでは、入力としてアルファベット文字列が与えられます。与えられた入力の「アンチストリング」を、すべての文字の大文字と小文字を逆にしたストリングとして定義します。例えば AaBbbUy -> aAbBBuY 入力として文字列を受け取り、アンチストリングも連続したサブストリングである最長の連続したサブストリングを検索するプログラムを作成する必要があります。2つの部分文字列は重複しないでください。 例として、文字列が与えられた場合 fAbbAcGfaBBagF 太字の部分は、最長のストリングアンチストリングペアです。 プログラムは、ペアを見つけたら、それぞれを1つの文字に折りたたむ必要があります。これは、各部分文字列の最初の文字を除くすべてを削除することでこれを行う必要があります。たとえば、上の文字列 fAbbAcGfaBBagF になるだろう fAcGfagF その後、プログラムは、最長文字列のアンチストリングペアが1文字以下になるまでプロセスを繰り返す必要があります。 たとえば、同じ文字列を使用すると、崩壊後の新しい最長のペアは fAcGfagF もう一度文字列を折り畳みます fAcGag これで、文字列をさらに折りたたむことができないため、出力する必要があります。 候補のペアが同点の場合(例AvaVA)、どちらかを削減することができます(AaAまたはAvV、ではなく、Aa)。 これはコードゴルフであるため、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 テストケース fAbbAcGfaBBagF -> fAcGag AvaVA -> AaA / AvV QQQQQQQ -> QQQQQQQ fAbbAcQQQQaBBacqqqqA -> fAbcQBcq gaq -> gaq fAbbAcGfaBBagFaBBa -> fcGaBBag 動機 この問題はarbitrary意的に思えるかもしれませんが、基本的なポリゴンを処理するコードを作成しているときに実際に遭遇した問題です。このプロセスを使用して、基本ポリゴンをより小さなnポリゴンに減らすことができます。それを試した後、私はそれが素敵な小さなゴルフをするだろうと思った。

9
感謝祭
明日、11月23日は、米国の感謝祭です。準備するには、ASCII七面鳥を調理する必要があります。ただし、計画が遅れているため、準備が必要な鳥の数を支援するプログラム(または機能)が必要です。 .---. _ .' './ ) / _ _/ /\ =(_____) (__/_/== =================== あなたが見つけた七面鳥はむしろ小さい側にあるので、あなたは次の比率を理解しました-1つの七面鳥が餌をやります: 白身の肉だけが好きな4人と、黒身の肉だけが好きな3人 または、どちらの方法でも構わない7人 またはその組み合わせ。 つまり、七面鳥には合計4食分の白身と3食分の黒身があります。さらに、部分的な七面鳥を購入して調理することはできません。 たとえば、白身の肉だけが好きな3人、黒身の肉だけが好きな6人、気にしない3人の場合、七面鳥が2匹必要です。これにより、8サービングの白と6サービングのダークが得られます。これは、誰もが満足し、残りの白い肉を食べるのに十分です: .---. _ .---. _ .' './ ) .' './ ) / _ _/ /\ / _ _/ /\ =(_____) (__/_/== =(_____) (__/_/== ===================================== 気にしない20人には、3匹の七面鳥が必要で、残りの白または黒が少し残っています。 .---. _ .---. _ .---. _ .' …

8
文字列を広げる
正方形の文字列を指定すると、展開のすべての段階で文字列のすべての出力が生成されます。 弦は一度に4分の1回転だけ時計回りに展開する必要があります。 例 入力: A 出力: A 注:また、この特定のテストケースで複製された入力は、これがバイト数の削減に役立つ場合にのみ受け入れます。 入力: DC AB 出力: DC AB D ABC ABCD 入力: GFE HID ABC 出力: GFE HID ABC HG IF ABCDE IH ABCDEFG I ABCDEFGH ABCDEFGHI 入力: JIHG KPOF LMNE ABCD 出力: JIHG KPOF LMNE ABCD LKJ MPI NOH ABCDEFG NML OPK ABCDEFGHIJ …

30
Sチェーンを描く
バックグラウンド 私が若かったとき、私は奇妙な「S」の形を描く方法を教えられ、私は(クラスメートと一緒に)魅力的だと感じました。今日、私はそれを再発見し、それを描くための定型的なアプローチのために、興味深い挑戦につながる可能性があると考えました:P 「S」を描く Sは、次の簡単な手順に従って描画できます。 まず、次のように3つの垂直線を2行描画します | | | | | | 次に、左上の線を下の中央線に接続し、上の中央を右下の線に接続して、 | | | \ \ | | | 最後に、現在描画されている画像の上と下を描画して、最終的に次のようにします。 ^ / \ | | | \ \ | | | \ / v ご覧のとおり、これにより「S」字型になります。ただし、拡張すると(2行以上で描画)、非常に興味深いパターンが生成されます。あなたの仕事はこの興味深いパターンを再現することです。 仕事 整数whereを指定するとn >= 2、Sから出力nされる行を含むSを出力します。関数から出力が返され、標準メソッドで入力が取得される場合があります。画像全体と各行の両方の末尾/先頭の空白は問題ありません。ただし、「」が壊れないように、先頭の行スペースは一貫している必要があります。行のリストとして出力できます。 テストケース input output --- 2 ^ / \ | | …

30
lwap彼女はのどが痛い!
リストまたは区切り文字列が指定されている場合、各単語の最初の文字を1ワード後にリストまたは区切り文字列を出力します。 この課題では、「単語」はスペース、改行、タブ文字を除くすべての印刷可能なASCII文字のみで構成されます。 たとえば、「Good afternoon、World!」という文字列を使用します。(スペース区切り): 1. String "Good afternoon, World!" 2. Get the first characters: "[G]ood [a]fternoon, [W]orld!" 3. Move the characters over. The character at the end gets moved to the beginning. "[W]ood [G]fternoon, [a]orld!" 4. Final string "Wood Gfternoon, aorld!" これはcode-golfなので、最短のコードが勝ちます! テストケース: Input -> output (space-delimited) "Good afternoon, World!" …
27 code-golf  string 

30
スペースの削除、大文字の使用の維持
入力は、英語の文、フレーズ、または単語になります。のみが含まれますa-zA-Z' -,.!?。タスクは、入力を取得し、スペースを削除してから、大文字を再配分して、前に大文字にされたインデックスの文字(および前に大文字にされたインデックスの文字のみ)が大文字になるようにします。 たとえば、入力がの場合、A Quick Brown Fox Jumped Over The Lazy Dog大文字の(0から始まる)インデックスは0, 2, 8, 14, 18, 25, 30, 34, 39です。次に、入力からスペースを削除しますAQuickBrownFoxJumpedOverTheLazyDog。次に、すべての文字を小文字にしますが、0, 2, 8, 14, 18, 25, 30, 34, 39:の大文字AqUickbrOwnfoxJumpEdovertHelazYdogは出力です。 入力 入力は、英語の文、フレーズ、または単語になります。小文字、大文字、ハイフン、アポストロフィ、コンマ、ピリオド、疑問符、感嘆符、スペースのみを含めることができます。 出力 入力が大文字のdの大文字のインデックスにある文字で、スペースが削除された小文字のdの入力。 注:IndexOutOfRangeまたは同様のエラーでプログラムをクラッシュ(実行が終了するエラー)することはできません。 テストケース Hi! Test! Hi!tEst! A Quick Brown Fox Jumped Over The Lazy Dog AqUickbrOwnfoxJumpEdovertHelazYdog testing TESTing TeStING testing …
27 code-golf  string 

29
文字列をアルファベット順に並べ替えます
仕事 入力文字列(または文字の配列)が与えられると、その文字列内の文字のあらゆる可能な順列を出力するプログラムを書くことがあなたの目標です。私は自分の出力に精通しているので、重複しないようにアルファベット順にソートする必要があります。 例: 入力: buzz 出力: buzz bzuz bzzu ubzz uzbz uzzb zbuz zbzu zubz zuzb zzbu zzub ルール これはコードゴルフなので、最短のコードが優先されます。 各行の末尾のスペースは問題ありません 最後の行の後の単一の改行が許可されます(それ以上は許可されません)

21
プライマリストリング
プライマリ(binary-prime)文字列とは、バイナリグリッドとして記述されたときに、すべての行と列が総計を持つものです。 それはかなりあいまいな説明ですので、実際の例でそれを分解しましょう... この例では、文字列を使用しますbunny: まず、各文字のASCIIコードポイントとそのバイナリ表現を見つけます。 Char | ASCII | Binary b 98 1100010 u 117 1110101 n 110 1101110 n 110 1101110 y 121 1111001 これらのバイナリ値を上から下に取り、グリッドに配置します(必要に応じて先行ゼロを追加します)。 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 …

30
12時間から24時間のタイムコンバーター
驚くべきことに、この単純なタスクはまだ存在していないようです... あなたの仕事は、入力として12時間の時間を取り、それを「軍事時間」または24時間の時間形式に変換するプログラムを書くことです。 入力は次の形式になります。 HH:MM am/pm わずかなバリエーションが許可されていますが: am / pmと残りの時間を区切るスペースはオプションです。 最後の部分は、「am」/「pm」または「a」/「p」のいずれかです。 大文字でも大丈夫です。 出力は、24時間形式に変換された入力時間になります。数値または文字列を指定できます。 入力と出力の両方について: 最初の0はオプションです。最後の3桁の0は必須です。 時間と分を区切る区切り文字は、「:」、「」(スペース)、またはなしです。 その他の注意事項: 真夜中は0000または2400のいずれかで表現できます。 真夜中は「午前」と見なされ、正午は「午後」と見なされます。 プログラムは関数または完全なプログラムであり、結果を返すか、標準出力に出力する必要があります。末尾の空白は問題ありません。 例(すべての形式をサポートする必要はありません): 12:00am -> 0000 1200 pm -> 1200 1234Am -> 00:34 134a -> 134 01:34PM -> 13 34 1234pm -> 1234 これはコードゴルフであるため、最小バイト数が優先されます。これはビルトインを使用して解決するのは非常に簡単なので、これを手動で解決するコードを見るといいでしょう(ただし、ビルトインの使用は問題ありません)。 明確にするために、考えられるすべての形式をサポートする必要はありません。(選択した)単一の入力および単一の出力形式のみをサポートすることは問題ありません。ただし、上記で概要を説明したようにフォーマットを制限したいと思います(これは既にかなり無料です)。{1134,'pm'}、たとえば、受け入れられません。

30
部分文字列連鎖
前書き この例では、文字列Hello, World!と配列を取りましょう[3, 2, 3]。部分文字列チェーンを見つけるには、次のプロセスを実行します。 配列の最初の数は3、我々はサブ得るので、[0 - 3]あります、Hel。その後3、初期文字列から最初の文字を削除しlo, World!ます。 配列の2番目の数値は2ですので[0 - 2]、新しい文字列から部分文字列を取得しますlo。残りの文字列はになり, World!ます。 最後の数は、3私たちを与えます、, W。サブチェーンは、私たちを与える組み合わせたストリングのすべて、次のとおりです。 ['Hel', 'lo', ', W'] より視覚的な例: [3, 2, 3], 'Hello, World!' 3 -> Hel 2 -> lo 3 -> , W タスク 所与の非空の文字列と非空の配列のみからなる正の整数()、出力ストリングチェーン。配列内のすべての整数の合計が文字列の長さを超えないと仮定できます。> 0 また、文字列に改行が含まれないことも想定できます。 テストケース Input: abcdefghijk, [2, 1, 3] Output: ['ab', 'c', 'def'] Input: …
27 code-golf  string 

26
(やや)自己参照文字列を作成する
あなたは(ここで、文字列を作りたい1-インデックス化されたインデックスの)文字がnありますn。ときにn10未満である、これは簡単です:"123456789"。nたとえば、12の場合、9を超える数(10を基数)は複数の文字を使用するため、不可能になります。文字列を2文字の部分文字列に分割することで妥協できます"020406081012"。これで、各部分文字列 の終わりのインデックスnはnです。 これは、任意のd数字に一般化できます。3桁の数字の文字列の「0991021」部分の説明は次のとおりです。 Index: ... * 97 98 99*100 101 102*103 ... * * * *---+---+---*---+---+---*---+ Character: ... * 0 | 9 | 9 * 1 | 0 | 2 * 1 | ... *---+---+---*---+---+---*---+ まだ理解していない場合は、文字列または整数を受け取り、上記のように自己参照文字列を出力するプログラム/関数を作成します。1桁の数字、文字、または1文字の文字列の配列を出力することもできます。 指定された整数は常に正で、その長さで割り切れます(たとえば、126は3で割り切れ、4928は4で割り切れます)。プログラムは理論的には任意の大きな入力に対して機能するはずですが、言語の最大整数や文字列の長さ、あるいはその両方よりも小さいと仮定できます。 それでも得られない場合の注意事項:出力の長さは常に入力そのものであり、出力に表示される数値は入力の桁数で割り切れます。 これはcode-golfであるため、バイト単位の最短回答が優先されます。 テストケース 1 => 1 9 => 123456789 10 => 0204060810 105 …

30
無効なInvali Inval
このアイデアは、@TùxCräftîñgのチャットメッセージに大まかに基づいています。 以下のシーケンス例をご覧ください。 INVALID0、INVALID1、INVALID2 INVALID3、INVALID4...INVALID9 後INVALID9、次のようになります。 INVALI0、INVALI1、INVALI2、INVALI3...INVALI9 そしてINVALI9、次のようになります: INVAL0、INVAL1、INVAL2、INVAL3...INVAL9 その後、次INVAL9のようになります。 INVA0、INVA1、INVA2、INVA3、...INVA9 INVALID毎回単語から文字を削除し続けていることに注目してください。 単一の文字、つまり文字に到達するまで、これを繰り返しますI。 I0、I1、I2、I3、I4...I9 さて、あなたの仕事は、単語の入力を取得し、上記の例のようにそれからシーケンスを生成することです。コードも1文字で動作する必要があり、その場合、結果のシーケンスは短くなります。 任意の入力および出力形式を選択できます(必要に応じて、セパレーターの有無にかかわらず)が、選択したものを指定する必要があります。 シーケンスは、正確に指定された順序である必要があります。 このチャレンジを正常に完了する最短のコード(バイト単位)がチャレンジに勝ちます。 上記の例の完全なシーケンス: INVALID0, INVALID1, INVALID2, INVALID3, INVALID4, INVALID5, INVALID6, INVALID7, INVALID8, INVALID9, INVALI0, INVALI1, INVALI2, INVALI3, INVALI4, INVALI5, INVALI6, INVALI7, INVALI8, INVALI9, INVAL0, INVAL1, INVAL2, INVAL3, INVAL4, INVAL5, INVAL6, INVAL7, INVAL8, INVAL9, INVA0, INVA1, …

15
重複して切り替えられたケースを削除する
ゴール このチャレンジの目標は、入力として文字列を指定し、ペアの2番目の項目が大文字と反対の場合、重複する文字のペアを削除することです。(つまり、大文字は小文字になり、その逆も同様です)。 ペアは左から右に交換する必要があります。たとえば、にaAaなるべきでaaあり、ではありませんaA。 入力と出力: Input: Output: bBaAdD bad NniIcCeE Nice Tt eE Ss tT T e S t sS Ee tT s E t 1!1!1sStT! 1!1!1st! nN00bB n00b (eE.gG.) (e.g.) Hh3lL|@! H3l|@! Aaa Aa aaaaa aaaaa aaAaa aaaa 入力は、印刷可能なASCIIシンボルで構成されます。 重複した数字やその他の文字以外の文字を削除しないでください。 了承 この課題は、@ nicaelの"Duplicate&switch case"の反対です。逆にできますか? サンドボックスからのすべての貢献者に感謝します! カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language …
27 code-golf  string 

18
回転対称性のある数
整数、出力所与truthyのそれは同じ逆さまである場合、値または(180°回転)falsyそうでない場合、値を。 0、1、及び8回転対称性を持っています。6となり9、逆もまた同様です。 真実の結果を生み出す一連の数字:OEIS A000787 0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, …
27 code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

30
ソースファイルの名前を逆にするプログラムを書く
単一のファイルに、入力を必要とせず、出力も生成しないプログラムを作成します。実行すると、コードが変更されたり、その他の永続的な副作用が発生したりすることなく、名前が何であるかに関係なく、含まれているファイルの名前が逆になります。 これを達成する方法はどれでも結構です。プログラムが実行されると、唯一の永続的な変更は、そのファイル名が逆になっていることだけです。たとえば、ディレクトリに新しいファイルを配置しないでください。 プログラムを再度実行すると、名前が逆になります。実際、プログラムは何度でも任意に実行できるはずです。 この課題のために: ファイル名は、常に1〜127文字の小文字(az)の文字列であると想定できます。(実行するために拡張子がファイルに必要な場合は、拡張子の前の部分を逆にします。例:mycode.bat→edocym.bat コードファイルはそれ自体がディレクトリにあるため、名前の競合はありません(それ自体を除く)。 あなたはありません逆にするときと同じつまり、ファイル名は回文ではないと仮定します。パリンドロームであるファイル名は、そうでないファイル名と同じように機能するはずです。 ファイルのコンテンツまたはメタデータを読むことができます。ここに馬の制限はありません。 すべてのシェルに同じコマンドセットがあるわけではないため、プログラムは特定の最新の一般的なオペレーティングシステム(Windows / Linuxなど)で実行されると仮定できます。 具体的な例として、mycode独自のディレクトリで呼び出されるファイルにPythonプログラムがあるとします 。ランニング python mycode ターミナルでは、ファイル名がに逆になるはず edocymです。ファイルedocymはディレクトリ内で単独である必要があります-指定されたファイルmycodeはもう存在しないはずです。ランニング python edocym 名前をに戻しmycode、その時点でプロセスを無期限に繰り返すことができます。 racecar(コードを変更せずに)同じPythonファイルの名前を変更してから実行した場合 python racecar 「レースカー」はパリンドロームであるため、目に見える変化はありません。ファイル名が、たとえば、aまたはの場合も同様xxです。 バイト単位の最短コードが優先されます。Tiebreakerは、より高い投票数の回答です。

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