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

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

30
正規表現を使用せずにUUIDが有効かどうかを確認します
文字列の入力が与えられた場合、正規表現を使用せずに、入力が有効なUUIDである場合は、STDOUTまたは同等の値を出力するプログラムを作成します。 有効なUUIDは 32桁の16進数。ハイフンで区切られた5つのグループに表示され、8-4-4-4-12の形式で合計36文字(32文字の英数字と4つのハイフン)で表示されます。 ソース テストケース 0FCE98AC-1326-4C79-8EBC-94908DA8B034 => true 00000000-0000-0000-0000-000000000000 => true 0fce98ac-1326-4c79-8ebc-94908da8b034 => true 0FCE98ac-1326-4c79-8EBC-94908da8B034 => true {0FCE98AC-1326-4C79-8EBC-94908DA8B034} => false (the input is wrapped in brackets) 0GCE98AC-1326-4C79-8EBC-94908DA8B034 => false (there is a G in the input) 0FCE98AC 1326-4C79-8EBC-94908DA8B034 => false (there is a space in the input) 0FCE98AC-13264C79-8EBC-94908DA8B034 => false …

30
この文字列は正方形ですか?
次の条件が満たされる場合、文字列は正方形と見なされます。 各行の文字数は同じです 各行の文字数は、行数と同じです。 あなたの仕事は、与えられた入力文字列が正方形かどうかを決定するプログラムまたは関数を書くことです。 LF、CR、またはCRLFの選択により、入力を区切る必要がある場合があります。 改行文字は、行の長さの一部とは見なされません。 入力に末尾の改行があるかどうかを要求する場合がありますが、これは追加行としてカウントされません。 入力は文字列または1D文字配列です。文字列のリストではありません。 入力は空ではなく、スペースを含む印刷可能なASCIIのみを含むと想定できます。 正方形の文字列には真理値を、他の文字列には偽の値を出力する必要があります。 真実のテストケース: foo バー バズ 。 .s。 .ss .s。 (sはスペースを表します) ss ss (sはスペースを表します) ああああ ああああ ああああ ああああ ああああ 偽のテストケース: .. 。 。 。 .... .... 4444 333 22 333 333 abc.def.ghi いくつかの偽のケースで余分な空白行に注意してください。 これはコードゴルフです -最少バイトが勝ちます!

10
ファルコンヘビーステージ
次の4つのセットのいずれかから、置換なしの4バイトのセットを選択します(つまり、バイトが繰り返されません)。必ずしも特定の順序である必要はありません。 任意の1バイトエンコーディングの文字 00からFFの範囲のUnicode文字 -128〜127の範囲の符号付き10進整数 0〜255の範囲の符号なし10進整数 選択した4つの値(状態を入力してください)が有効な入力になります。各値を以下のASCIIアートワークのいずれかとペアにする必要があります。 4つの有効な入力のうちの1つを(何らかの方法で)与えられ、対応するASCIIアートで(何らかの方法で、文字列のリストでさえ)応答します。画像が1つの連続する2D領域にある限り、余白はすべての側面で許可されます。 最初のバイト: /\ / \ | | | | | | |____| \__/ | | | | | | | | /\ | | /\ / \| |/ \ | || || | | || || | | || || | | || || …

30
手紙のスピード
入力として文字列を指定すると、各文字がそれぞれのアルファベットインデックスによって右にプッシュされた新しい文字列が出力されます。 Aは遅い文字で、Zは速い文字であることは誰もが知っています。つまり、Zは25スペース分右にシフトされ、Aはまったくシフトされず、Bは1スペース分シフトされます。 プログラムはAZの大文字のみを処理する必要があり、他の文字、空白、句読点は処理できません。 シフト後に2つ以上の文字が同じスペースにある場合、最新の文字が使用されることに注意してください。(例:BA-> A) 例 "AZ" -> "A Z" "ABC" -> "A B C" "ACE" -> "A C E" "CBA" -> " A" "HELLOWORLD" -> " E H DLL OLO R W" ルール これはcode-golfであるため、どの言語バイトでも最短のコードが優先されます。 標準的な抜け穴は禁止されています。 入力は文字列として受け取る必要があります。 結果をstdout文字列に出力するか、文字列を返すことができます。 単一の末尾の空白および/または改行が許可されています。 入力または出力として小文字を使用することもできますが、使用できるのはどちらかのみです。
43 code-golf  string 

24
カオスはASCIIラダーです
あなたは何も知らない 私は物事 「カオスは梯子では、」テレビシリーズから記憶に残るラインでゲーム・オブ・スローンズ。 この課題の目的は、ASCIIアートでカオスからはしごを構築することです。 挑戦 入力 ラダー幅W >= 3(整数) ステップの高さH >= 2(整数) ラングの数N >= 2(整数)。 出力 横桟と縦レールを備えたはしご、すべて1文字幅。ラダー幅(W)には2つのレールが含まれ、ステップ高さ(H)には対応するラングが含まれます。 最上部と最下部を含むすべての横木には、上下の長さの垂直レールがH-1あります。この例では、これをより明確にします。 ラダーについて説明する印刷可能な、非空白文字のASCII文字の包含範囲であること、!(コードポイント33)に~(コードポイント126選択図実際の文字が選択される)ランダム。入力が与えられると、文字のランダムな選択のそれぞれは、非ゼロの確率を持たなければなりません。それ以外は、確率分布は任意です。 水平または垂直の先頭または末尾の空白が許可されます。 例 与えられたW=5, H=3, N=2、1つの可能な出力は次のとおりです。 x : g h q$UO{ t T 6 < bUZXP 8 T 5 g ラングと垂直セクションがあるためH*(N+1)-1、合計の高さはであることに注意してください。NN+1 追加規則 入力手段と形式は通常どおり柔軟です。たとえば、3つの数値を任意の順序で入力したり、それらを含む配列を入力したりできます。 出力は、STDOUTまたは関数から返される引数を介して行われます。この場合、改行を含む文字列、2D文字配列、または文字列の配列です。 プログラムまたは機能を提供できます。 標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース それぞれについてW, H, N、可能な出力が表示されます。 W=5, …

30
点滅する12
多くの電子機器、特に古いものは12:00、時間が設定されていないと点滅します。この課題の目的は、これを再現することです。 具体的には、タスクがする表示12:00と--:--無限ループに代わり。 期間は、 0.5秒の二つの期間に均等に分割し、1秒、であるべきです。ここで、「1秒」と「均等」は大まかに解釈できます。たとえば、結果の期間が1秒より少し長くなる場合でも、文字列の表示の間にコードが0.5秒間停止する場合は許容されます。最初の文字列を表示する前の最初の一時停止は許容されます。 それぞれの新しい文字列は、のいずれかによって表示することができ、元の文字列を置き換えるか、新しい行に。新しい文字列がそれぞれ異なる行にある場合、連続する文字列の間に空行があってはならないことを除いて、末尾の空白は許可されます。 バイト単位の最短コードが優先されます。

24
入力文字ごとにプログラムの最初の位置を出力します
チャレンジ p空でない入力文字列が与えられると、空でないプログラム/関数を記述します。これは、のソースコードでの各文字の最初の出現s位置を出力します。sp たとえば、プログラムが main() { cout << magic << cin } ^0 ^5 ^10 ^15 ^20 ^25 そして、それは入力を受け取りabcd{、出力は [1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based) ここでは、x文字位置のための有効な出力ではありません任意の出力を表し(例えば、負の数、0あなたは1ベースのインデックスを使用している場合は、NaN、Inf、文字列potato、あなたのプログラムの長さよりも数の大きい、など)。 制限事項 ソースコードの読み取りは許可されていません(適切なクインのように)。コメントの使用は許可されますが、スコアにカウントされます。 入力と出力は、合理的な形式で行うことができますが、でなければならない明確な(唯一の追加区切り文字、無randストリームと答えがそこにどこかにあると主張)、一貫性のある(例えば、x上からは常にあるべき同じ値)と人間読めます。たとえば、文字列または文字配列。入力は、印刷可能なASCII文字の文字列(または配列)であると想定できます。Unicodeセット全体を処理する必要はありません。 コード内のカスタムコードページまたは印刷不可能なASCII 言語でカスタムコードページ(Jelly、APLなど)を使用している場合は、それを考慮する必要があります(したがって、プログラム€æÆは入力の[1, x, 2]ために出力する必要があります€%æ)。-1(入力がASCIIのみであるため)常に非ASCII文字のみを使用して出力することは、有効な解決策ではありません。プログラムがネイティブにカスタムコードページを受け入れると仮定できます。つまり、プログラムに文字Aを整数に変換する方法65(ASCIIエンコーディング)がある場合、コードページの65番目の文字をに変換すると仮定できます65。 次の課題に触発されました:ポジショナルアウェアネス

19
私のパイは二等分されましたか?
正の整数の空でないリストを取り込むプログラムまたは関数を作成します。"1 2 3 4"またはなどの合理的で便利な形式で入力されていると想定できます[1, 2, 3, 4]。 入力リストの数値は、円グラフ全体のスライスを表します。各スライスサイズは対応する数値に比例し、すべてのスライスは指定された順序でグラフの周囲に配置されます。 たとえば、次のパイ1 2 3 4は次のとおりです。 あなたのコードが答えなければならない問題は、円グラフが今までされてい二分しますか?つまり、円の一方の側から他方の側に完全に直線があり、対称的に2つに分割されていますか? あなたはする必要があり、出力truthyの少なくとも一つの二等分線と出力がある場合に値をfalsy何も存在しない場合、値。 で1 2 3 4例との二分がある4 1と2 3出力truthyであろうように。 ただし、入力の1 2 3 4 5場合は二等分線がないため、出力は偽になります。 追加の例 数値を異なる方法で配置すると、二等分線が削除される場合があります。 例2 1 3 4→偽: 入力リストに数字が1つしかない場合、パイは二等分されません。 例10→偽: 複数の二等分線が存在する場合があります。ゼロ以上である限り、出力は真実です。 例6 6 12 12 12 11 1 12→真実:(3つの二等分線があります) 視覚的に明らかではない場合でも、2分割が存在する場合があります。 例1000000 1000001→偽: 例1000000 1000001 1→真実: (円グラフを生成してくれたnces.ed.govに感謝します。) テストケース …
43 code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

18
ユニバーサルスプーキーミームトランスレーター
前書き エイリアンは、私たちと同じくらいミームを愛しています。ただし、これまでに遭遇したすべてのエイリアンレースには、独自のバージョン2spooky4me(次の質問を参照)と同等のバージョンがありますが、いくつかのバリエーションがあります。惑星CUTE1fの住民は大量のスプークを処理できないため、優先される1spooky2meスプークはです。一方、skeletor7のメマーはスプークが好きなので、使用する傾向があります9spooky11me。 チャレンジ ミームの翻訳は大変な仕事なので、あなたはこれらの人々がmemenetに正しくアクセスするのを助けるために、普遍的なミーム翻訳者を書くことを任されました。あなたのプログラムは、ミームとそのミームの数字列に適用する変換を受け入れて、異なる惑星の住民に適切なものにします。 入力 プログラムは2つの文字列入力を受け取ります。 入力ミーム(例2spooky4me)。一致し[a-zA-Z0-9]+ます。 (例えば、それに適用する変換+1から行くために、2spooky4meに3spooky5me)。マッチ[+\-*/^]\d+(あなたが受け入れなければならない+、-、*、/、および^演算子として、関係なく、あなたの言語でのネイティブ表現)。 出力 プログラムは、入力ミームの数字シーケンスに適用された変換を使用して、文字列出力(標準出力または同等のものに出力)を返す必要があります。奇妙な出来事では、これまでに遭遇したすべての種族が分数のものよりも整数のミームを好むため、これらの変換は整数演算を実行する必要があります(たとえば、1spooky1me /2結果は0spooky0me)。 例 標準の算術演算が適用されます: Input: 2spooky4me +1 Output: 3spooky5me Input: 2spooky4me -1 Output: 1spooky3me Input: 2spooky4me *15 Output: 30spooky60me Input: 10spooky900me /5 Output: 2spooky180me 数字列は整数です。整数の切り捨ては、次のような場合に発生するはずです。 Input: idontunderstandmemes3 /2 Output: idontunderstandmemes1 入力には数字列がない場合があります。 Input: notreallyafunnymeme *100 Output: notreallyafunnymeme 選択した言語のネイティブ操作ではない場合でも、累乗をサポートする必要があります。 Input: 2spooky4me ^3 Output: …

30
アイデンティティマトリックスの構築
課題は非常に簡単です。入力が整数のn場合、n x n単位行列を出力します。単位行列は、1sが左上から右下に及ぶものです。作成した単位行列を返すまたは出力するプログラムまたは関数を作成します。出力は、2D配列、またはスペース/タブと改行で区切られた数値です。 入出力の例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, …

30
ETAOIN SHRDLUゴルフ
ショートと挑戦の甘い説明: オフに基づいてETAOIN SHRDLUは、あなたの挑戦は、入力中にその頻度に基づいて、英語のアルファベットの26個の文字を出力し、任意の言語での最短のプログラムや関数を記述することです。 本当に長く、乾燥した完全な仕様: プログラム/関数は、1つ以上の大文字または小文字を含むテキスト文字列を入力として受け取り、句読点、数字、記号、およびその他の非アルファベット文字も含む場合があります。 プログラム/関数は、入力に出現しない回数も含めて、入力に出現する回数に基づいて頻度の高い順に並べた、英語のアルファベットの26の大文字のみを出力する必要があります。 編集:頻度は大文字と小文字を区別せずに計算されますが、出力は大文字でなければなりません。 2つ以上の文字が同じ頻度を持っている場合、それらは任意の順序である可能性があります。 空白などの他の出力は許可されません。 編集7/1/2014:フィードバックに基づいて、このルールを修正しています。許可される他の唯一の出力は、末尾の改行などのオプションの先頭および/または末尾の空白です。他の出力は許可されません。 未定義の動作は、文字を含まない入力に対して許可されます。 勝者は今から7日後に選ばれるので、それらの指を入力してください! 入力例: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vitae erat velit. Mauris gravida euismod libero ut tincidunt. Phasellus elit dui, consectetur et egestas in, aliquam vitae diam. Donec eget varius ante. Vestibulum cursus diam aliquet, egestas …
43 code-golf  string 

21
それらすべてを支配する一つの環。それらすべてを含む1つの文字列
目的:厳密に1000未満のすべての正の整数を含む文字列を出力します。 明白な答えは、それらのすべてを連結することであり、2890文字の文字列を作成します(manatworkに感謝)。この種の簡単な答えを避けるには、文字列の長さは1500文字未満でなければなりません。1200文字の文字列を出力する簡単なJavaコードを次に示します。 import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.TreeSet; import static org.junit.Assert.assertTrue; /** * Created with IntelliJ IDEA. * User: fab * Date: 05/11/13 * Time: 09:53 * To change this template use File | Settings | File Templates. */ public class AStringToContainThemAll { @Test public void testsubStrings() throws …

30
序数の出力(1、2、3)
(関数の戻り値として、または単にプログラムの出力として)数値に連結された正の整数の序数の接尾辞を生成したいと思います。 サンプル: 1st 2nd 3rd 4th ... 11th 12th 13th ... 20th 21st 22nd 23rd 24th など、サフィックスが最初の1〜10のサブパターンを10まで100ごとに繰り返し、最後にパターンが最初から始まります。 上記のように、入力は数値で、出力は順序文字列です。 これの最小のアルゴリズムは何ですか?

23
Bookworm辞書形式を解析する
私は最近、Bookworm Deluxeの形の懐かしさに夢中になりました。 まだ見たことがない場合は、隣接するタイルを接続して単語を形成することが目的のワードゲームです。文字列が有効な単語かどうかを判断するために、次のような圧縮形式で保存されている内部辞書と照合します。 aa 2h 3ed ing s 2l 3iis s 2rdvark 8s 4wolf 7ves 辞書を展開するためのルールは簡単です: 行の先頭の数字を読み、前の単語の先頭からその数の文字をコピーします。(数字がない場合は、前回と同じ数の文字をコピーします。) 単語に次の文字を追加します。 したがって、最初の単語はでaa、その後にが続きます2h。これは、「の最初の2文字をコピーしてaa追加」を意味hしaahます。次にに3edなりaahed、次の行には数字がないため、3文字を再度コピーしてformにしaahingます。このプロセスは、辞書の残りの部分で継続されます。小さなサンプル入力から得られる単語は次のとおりです。 aa aah aahed aahing aahs aal aaliis aals aardvark aardvarks aardwolf aardwolves あなたの課題は、このアンパックをできるだけ少ないバイトで実行することです。 入力の各行に0-9 は、1つ以上の小文字が続くゼロ以上の数字が含まれますa-z。入力を取得し、出力を文字列のリストとして、または単語を0-9/ 以外の文字で区切った単一の文字列として出力できますa-z。 次に、別の小さなテストケースを示します。この例ではカバーされていないエッジケースがいくつかあります。 abc cba 1de fg hi 0jkl mno abcdefghijk 10l => abc cba cde cfg …
42 code-golf  string 

30
これらの文字列を明確にする
このコメントチェーンに触発されて ... 私enklactはこの挑戦から抜け出したいが、私はできない... @ETHproductions to enklact(v):一意の要素で構成されるサブセクションを使用してルックアップテーブルを実装します。 Enklactingは、ルックアップテーブルを圧縮する非常に便利な方法です。たとえば、次の色のリストがあるとします。 red green blue yellow purple orange 入力として色を取り、このリストのインデックスを返すことができるようにしたい場合は、明らかに簡単な方法があります。 ["red", "green", "blue", "yellow", "purple", "orange"].index(input()) しかし、より少ないバイトでこれを行う方法があります: "rgbypo".index(input()[0]) これは、各文字列の最初の(または0番目の)インデックスが一意であるため機能します。この例は明らかですが、時には少し難しい場合があります。このリストのルックアップテーブルを作成する場合はどうなりますか? Sweet Onion Chicken Teriyaki Oven Roasted Chicken Turkey Breast Italian BMT Tuna Black Forest Ham Meatball Marinara この場合、これはできません。 "SOTITBM".index(input()[0]) a 'T'で始まる2つの異なる入力、つまり「Tuna」と「Turkey」があるためです。別のインデックスを見る必要があります。各文字列の4番目のインデックスを見ると、それらはすべて一意であることがわかります。だから私たちはこれを行うことができます... "enklact".index(input()[3]) この場合、「enklaction string」は「enklact」です。 それが今日の挑戦につながります... 文字列のリストを指定すると、有効なenklaction文字列が返されます。または、言い換えると、文字列のリストを指定すると、各文字が一意であり、各文字列のi番目の文字を結合して文字列が形成される新しい文字列を返します。 有効なenklaction文字列が存在しない場合は、代わりに空の文字列または一貫した偽の値を送信する必要があります。いつものように、関数または完全なプログラムのいずれかが許可されており、入出力形式は許容範囲内です(理由はありますが)。 …
42 code-golf  string 

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