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

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

6
絵文字ですか?
私は最近このiOSアプリで作業していて、(かなり簡単に解決した)問題に遭遇しました:私の文字列が絵文字のみで構成されているかどうかをどのように判断しますか? まあ、それは今日のあなたの仕事です! 入力 文字列。Unicode文字の存在に問題がある場合は、別の妥当な形式を使用できます。入力を取得するために通常の文字列とは異なる何かをした場合、何をするかを述べてください。 出力 入力文字列に絵文字のみが含まれる場合は真理値を出力するか、絵文字以外の文字が含まれる場合は偽値を返します。 ちょっと待って...絵文字って何?😅 絵文字は、次の範囲に含まれるキャラクターです。 0x1F600...0x1F64F // Emoticons 0x1F300...0x1F5FF // Misc Symbols and Pictographs 0x1F680...0x1F6FF // Transport and Map 0x2600...0x26FF // Misc symbols 0x2700...0x27BF // Dingbats 0xFE00...0xFE0F // Variation Selectors (おもう) これは🔹code -golf isなので、バイト単位の最短コードが勝ちます❕ テストケース "Is it an emoji? 🤔" -> False "🔹code-golf🔹" -> False "😮 😥 …

2
重複する行順序
(乾式消去ボードでの描画中に触発) チャレンジ: ホワイトボード上の乾燥消去マーカーのさまざまな色を表す文字を含む入力文字列が与えられた場合、最初から最後までそれらが描画された順序を出力します。 入力: アルファベットで表されるドライ消去マーカーの色を含む文字列(上の文字は小文字とは異なります。各色に異なる文字が含まれている限り、私の例で使用されている文字に置き換えることができます)。ホワイトボードの残りの部分は空白になります。ボードごとに各色が1行だけ存在します。すべての行が互いに重なる入力はありません(テストケースを参照4)。すべての線は直線で、水平または垂直になります。 出力: 最初に描画された線から最後の線まで、ボード上で線が描画された順序。入力に複数のソリューションがある場合、それらのいずれかを出力できます。使用する文字が入力で使用されているものと一致する限り、出力は任意の形式にフォーマットできます。単一の文字列、またはスペース、改行などで区切られます。 テストケース: 入力1: R R BBRBB R 出力1: BR 入力2: GY GY RRRRGYRRR GY GY BBBBBBBB GY GY 出力2: RGYB // or RYGB 入力3: R P R P AAAARAAAAPA R P R P GGGGRGGG P R 出力3: AGPR // or APGR 入力4: O Y …
17 code-golf  string 

25
製品カタログ
この問題は、製品識別子を表す文字列を3つのコンポーネントに分けることです。 最初の部分は、倉庫を表す任意の長さの上下の文字で構成されます。 2番目の部分は、製品番号を表す数字です。この部分も任意の長さです。 最後の部分はサイズと色の修飾子であり、この部分は文字列の最後まで続きます。修飾子は、大文字で始まり、英数字で構成されることが保証されています。 各部分は明確に分けて印刷する必要があります。各部分が空でないことが保証されています。 勝者は、この問題を解決するために最小バイトを使用する人です。 例: 入力: UK7898S14 出力: UK 7898 S14 ここで、英国は英国、7898は製品コード、S14はサイズ14です。 例2: 入力: cphDK1234CYELLOWS14QGOOD 出力: cphDK 1234 CYELLOWS14QGOOD ここで、cphDKはデンマークのコペンハーゲン、1234は製品コード、CYELLOWS14QGOODは黄色、サイズ14、高品質を表します。
17 code-golf  string 

15
レター交換チャレンジ
アイデアはシンプルです。3つの文字列を提供することにより、「視覚化された」文字置換を作成する必要があります(入力はコンマ区切り、個別の入力、または配列として使用できます)。最初のセグメントは修正する単語、2番目のセグメントは置換する文字、3番目のセグメントはセグメント2の文字の置換です。 例えば: | | Input | Starting Word | Output | |----|-----------------------------|---------------|-------------| | #1 | Hello world -wo -ld +Ea +th | Hello world | Hello Earth | | #2 | Hello World -wo -ld +Ea +th | Hello World | Hello Worth | | #3 | Hello -llo +y …
17 code-golf  string 

3
部分文字列を含むパリンドロームまでの最小ハミング距離
これは、CS.SEから削除された質問に触発されました。 仕事 空でない2つの入力文字列AとBが与えられた場合、AからBを部分文字列として含む回文までの最小距離を出力します。距離は、文字置換の数(ハミング距離)によって定義されます。 制限事項 賢明な入力:回文が存在します。これは| A |を意味します ≥| B |。 AとBには小文字のASCII文字のみが含まれ、小文字と大文字は区別されます(他のすべての文字と同様)。 言語でASCII文字を処理できない場合は、整数(またはその他の適切なデータ型)も使用でき、範囲を128要素に制限することもできます。 stdin、関数引数、コマンドライン引数などから入力を取得できます。 stdout、戻り値などに結果を与えることができます。 作業中の回文を与える必要はありません。最短の距離で十分です。 例 A B Output thilloaoyreot hello 4 (thelloaolleht) benjonson stack 9 (stackcats) neversaynever! odd 9 (neveroddoreven) ppcggcpp gg 0 (ppcggcpp) stars tat 1 (stats) 得点 これはコードゴルフで、バイト単位の最短コードが勝ちです。

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

6
テキストキューブ݀
前回テキストの正方形を作成しましたが、今、テキストの立方体を作成できますか? チャレンジ 文字列が与えられたら、文字列を立方体の形式で出力します。 文字列には常に2文字以上が含まれ、印刷可能なASCII文字のみが含まれると想定できます。 テキストキューブの作成方法 テストケース Input: Test Output: Test e ss s e e tseT T s e e e ss Test Input: Hello, world! Output: Hello, world! e dd l l l l r r o o o , w w w , , o o o r …

3
あなたのカメをひもで導く
スペースを除く印刷可能なASCII文字の空でない単一行の文字列を取り込むプログラムまたは関数を記述します。 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 入力が有効であると想定できます。 入力に基づいて、スペースとテキストのグリッド上に配置された新しい文字列を、亀のグラフィックに沿って描画します-亀は常に1つのグリッドスペースを占有し、基本方向のみに面することができる規則です。 入力文字列の最初の文字をテキストグリッドに出力します。カメは右を向いてここから始まります。入力文字列の残りの文字を繰り返し処理します(カメが動けなくなった場合のみ停止します)。このプロセスを繰り返します。 カメに直接隣接する4つのグリッドスペースがすべて満たされている場合(つまり、どれもスペースではない場合)、反復を停止します。カメが立ち往生しており、グリッドは可能な限り完全です。 前の文字と比較して、入力内の現在の文字を見てください。 現在のキャラクターが前のキャラクターよりも字句的に前にある場合、タートルを左に1/4回転させます。 現在のキャラクターが前のキャラクターよりも字句的に後であれば、タートルを右に1/4回転させます。 現在のキャラクターが前のキャラクターと等しい場合、タートルを回転させないでください。 カメが現在直面しているグリッド空間が空ではない場合(つまり、スペースではない場合)、空のグリッド空間に直面するまで、タートルを左に1/4回転させます。 亀を彼女が向いている方向に1グリッド先に移動し、亀の新しい場所のグリッドに現在のキャラクターを印刷します。 余計な行や列の空白なしで、結果のテキストグリッド文字列を印刷または返します。行には、右端の列までの間にスペースを含まない末尾スペースがありますが、それを超えてはなりません。単一の末尾の改行はオプションで許可されます。 バイト単位の最短コードが優先されます。 例 ここに入力のすべてのステップがありますspattuuxze。^V<>文字は、彼らは、亀が向いている方向を示していない入力または出力の一部。 s> ^ p s <ap s ^ t ap s ^ t t ap s tu> t ap s tuu> t ap s tuu t x apV s tuu <zx ap s この時点でタートルはスタックしているため、e決して印刷されず、最終的な出力は次のようになります。 tuu …
17 code-golf  string  grid 

12
次元カウントダウン
nからk次元のカウントダウンを表示する関数f(n、k)を記述します。 5からの1次元のカウントダウンは次のようになります 54321 5からの2次元のカウントダウンは次のようになります 54321 4321 321 21 1 最後に、5からの3次元のカウントダウンは次のようになります 54321 4321 321 21 1 4321 321 21 1 321 21 1 21 1 1 正式な定義 任意のnからの1次元のカウントダウンは、数字n、n-1、...、1が連結された単一の行です(その後に改行が続きます)。 任意のkについて、1からのk次元のカウントダウンは単一行です 1 n> 1およびk> 1の場合、nからのk次元のカウントダウンは、nからの(k-1)次元のカウントダウンと、それに続くn-1からのk次元のカウントダウンです。 入力 選択した任意の形式の2つの正の整数kおよびn <= 9。 出力 nからのk次元のカウントダウン。各1次元のカウントダウンの後に改行が付きます。出力では、余分な改行を使用できます。 得点 標準的なゴルフの得点。 ボーナスの例 以下は、k> nの例で、3からの4次元のカウントダウンです(実際のソリューションには含まれないコメントが追加されています)。 -- 3-dimensional countdown from 3 321 21 …
17 code-golf  string 

8
Copeland–Erdőの定数内の数値を見つける
バックグラウンド コープランド-エルデシュ定数は「0」を連結したものです 順番に素数の10を基数とした表現。その値は 0.23571113171923293137414... OEIS A033308も参照してください。 CopelandとErdősは、これが通常の数値であることを証明しました。これは、すべての自然数がコープランド・エルド定数の10進数展開のある時点で見つかることを意味します。 チャレンジ 正の整数を指定して、10を基数(先行ゼロなし)で表し、Copeland–Erdの定数の10進数のシーケンス内で最初に出現するインデックスを出力します。 合理的な入力および出力形式はすべて使用できますが、入力および出力は10を基数にする必要があります。特に、入力は文字列として読み取ることができます。そして、その場合、先行ゼロを含まないと見なすことができます。 出力は、定数の最初の10進数から始まる0ベースまたは1ベースです。 実際の結果は、データの種類、メモリ、または計算能力によって制限される場合があります。そのため、テストケースによってはプログラムが失敗する場合があります。だが: どんな入力に対しても理論的に機能するはずです(つまり、これらの制限を考慮しない)。 少なくとも最初の4つのケースで実際に機能し、それぞれのケースで結果が1分以内に生成されるはずです。 テストケース ここでは、出力は1から始まります。 13 --> 7 # Any prime is of course easy to find 997 --> 44 # ... and seems to always appear at a position less than itself 999 --> 1013 # Of course …

12
シャミールの秘密の共有
与えられたn(プレイヤーの数)、 t(しきい値)、およびs(秘密)、出力nによって生成された秘密シャミール秘密分散アルゴリズム。 アルゴリズム このチャレンジの目的のために、計算はGF(251)(sizeの有限体251、または整数mod 251として知られる)で行われます。通常、フィールドは、サイズがより大きい素数になるように選択されnます。課題を簡素化するために、フィールドサイズは一定になります。251これは、8ビットの符号なし整数で表現できる最大の素数であるため選択されました。 t-1(包括的)範囲でランダムな整数を生成します[0, 250]。これらのラベル1を通過T-1 。 構築t-1用い番目の多項式をsのパワーの係数として工程1からの一定値とランダムな整数としてx:F(X)= S + X * 1 + X 2 * 2 + ... + X T- 1 * a t-1。 (包括的)範囲内の(f(z) mod 251)それぞれの出力。z[1, n] 参照実装 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

7
通常および視覚的な文字列復帰
catプログラムとして機能するコードを作成します。つまり、文字列を入力してそのまま出力します。ただし、コードの通常の復帰では、入力文字列の通常の復帰を出力する必要があります。また、コードの視覚的な反転は、入力文字列の視覚的な反転を出力する必要があります。 通常の復帰とは、文字列の逆の文字シーケンスです。視覚的復帰は、文字()[]{}<>が)(][}{><それぞれ置き換えられた通常の復帰です。 ()[]{}<>文字を定義し、このチャレンジの前に公開されている任意のコードページを使用して文字を定義できます。すべてのコードに同じコードページを使用する必要があります。元のコードはこのコードページで有効である必要があり、逆のコードのいずれかをそのコードページに適用すると、結果が得られます。 これはcode-golfで、バイト単位の最短コードが優先されます。 例 文字列の場合はAB(XY)、その正常な視覚的な差し戻しがある)YX(BAと(YX)BA、それぞれ。 (架空の言語で)あなたのコードがある場合はAB(XY)、そのコード)YX(BAと(YX)BAすべき出力をそれぞれ入力文字列の正常かつ視覚的な差し戻し。そしてAB(XY)、猫のプログラムとして機能する必要があります。

1
Symme-Try This Triangle Trial
長さが正の三角形の数字(1、3、6、10、15 ...)である文字列は、スペースと改行を追加する(および同じ読み上げ順序で保持する)ことにより、「正三角形の三角形」に配置できます。 たとえば、長さ10の文字列ABCDEFGHIJは次のようになります。 A B C D E F G H I J それが唯一の文字が含まれています除き、そのようなA列を取り込みプログラムや関数を記述0して1。(入力が有効であると想定できます。) 結果の「正三角形の三角形」の場合、表示される対称性のタイプを示す4つの数値のいずれかを出力(印刷またはリターン)します。 2三角形に左右対称がある場合に出力します。つまり、任意の1つのコーナーから反対側の中点への対称線を持ちます。 例: 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 3三角形に回転対称がある場合に出力します。つまり、視覚的な変化なしに120°回転させることができます。 例: 0 1 0 0 1 1 0 1 0 …

5
このコードの説明をもう一度きれいにする
前書き ほとんどのコード愛好家は、提出物に説明を追加するため、何が起こっているのかを理解しやすくなります。通常、コードラインは左側にあり、対応する説明はある種のセパレーターとともに右側にあります。見た目をよくするために、セパレータはすべて同じ列にあります。また、通常、長い説明テキストは次の行に折り返されるため、読者はすべてを読むために水平にスクロールする必要はありません。 しかし、クレイジーなゴルフをしたためにこの説明を編集したい場合、説明をかなりやり直すために時間を費やすことがよくあります。これは非常に反復的なタスクなので、このためのプログラムを作成する必要があります。 チャレンジ 説明とセパレータを含む数行のコードが与えられたら、説明付きのきれいにフォーマットされたコードを出力します。 例 入力 shM-crz1dc4。 "ANDBYOROF#z =入力 rz1#入力を大文字に変換します cd#スペースで入力を分割 c4。 "ANDBYOROF#無視されるパックされた文字列から単語のリストを作成します -#これらの単語を除外 hM#すべての単語の最初の文字のみを取得 s#それらを1つの文字列に結合する 出力 shM-crz1dc4。 "ANDBYOROF#z =入力 rz1#入力を大文字に変換します cd#スペースで入力を分割 c4。 "ANDBYOROF#パックされた文字列から単語のリストを作成します。 #無視 -#これらの単語を除外 hM#すべての単語の最初の文字のみを取得 s#それらを1つの文字列に結合する このコードが何をするかを知ることができる最初の人のための1つのクッキー。 フォーマットアルゴリズム 最も長いコード行を見つけます(説明と、コードと区切り文字の間のスペースを除く)。 このコード行の後に5つのスペースを追加し、対応するセパレーターに説明を追加します。これが基準線になりました。 セパレーターがすべて同じ列になるように、この基準線に1行おきに調整します。 93文字を超えるすべての行を次の方法で新しい行にラップします。 末尾が93列以下である最後の単語を見つけます。 この後のすべての単語を取り、先頭の区切り文字と正しい間隔で新しい行にラップします。これらの2つの単語の間のスペースは削除する必要があるため、最初の行は単語文字で終わり、2番目の行は区切り文字の後の1つで始まります。 結果の行がまだ93文字より長い場合は、すべての行が94文字未満になるまで同じ操作を繰り返します。 ノート 単語は非空白文字で構成されます。単語は単一のスペースで区切られます。 ワードラッピングは常に可能です。これは、ラッピングが不可能になるほど長い単語がないことを意味します。 入力には印刷可能なASCIIのみが含まれ、末尾の空白は含まれません。 セパレータは1行に1回だけ表示されます。 説明の長さには制限がありませんが、セパレータとコードの最大長の合計は93 - 5 = 87charsのみです。5文字は、コードと区切り記号の間のスペースです。コードと区切り記号は常に少なくとも1文字の長さです。 入力には空の行が含まれる場合があります。これらには文字は含まれません(入力を複数行の文字列として使用する場合は改行を除きます)。これらの空の行も出力に存在する必要があります。 すべての行には、いくつかのコード、セパレータ、説明があります。例外は空の行です。 …
17 code-golf  string 

8
誰がフットボールの試合に勝つつもりですか?
アメリカンフットボールのチャンピオンシップであるスーパーボウル50は、本日11時30分(UTC)に開催されます(オンラインでライブ視聴できます)。この挑戦はそれを祝うためになされました。 アメリカンフットボールの試合では、2つのチームが最も多くのポイントを獲得するために競い合い、これらのポイントを獲得する6つの方法があります。それぞれに略語を付けます: フィールドゴール - FG:3ポイント タッチダウン - TD:6ポイント 追加ポイント - XP:1ポイント-タッチダウンの直後にのみ得点できます。 2ポイントの変換 - XD(追加のポイントと同様ですが、より幸せです):2ポイント-タッチダウンの直後にのみ得点できます。 安全性 - S:2ポイント フェアキャッチキック - FCK:3ポイント(非常にまれなプレー) これらの6つの略語のみを大文字と小文字の両方で含む1行の文字列を取り込むプログラムまたは関数を記述します。 この文字列は、フットボールの試合(または試合の一部)のすべてのスコアリングイベントを表し、大文字の用語は1つのチームに属し、小文字の用語は他のチームに属します。 あなたの仕事は、ゲームの最終スコアを報告し、フォームの出力で勝った人を示すことです [score 1] [to] [score 2] どこ: [score 1] 大文字と小文字のどちらが勝つかに関係なく、常に2つのスコアの大きい方(等しくない場合)です。 [score 2] 2つのスコアのうち小さい方(等しくない場合)。 [to]でTO、あれば大文字のチームウォンto小文字のチームが勝った場合、およびToそれがタイだ場合。 例:スーパーボウルXLIXのすべてのスコアリングイベントは 、文字列で要約できます。 TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP ここで、大文字はニューイングランド・ペイトリオッツ、小文字は シアトル・シーホークスです。パトリオットは28点、ホークス24点を獲得したため、出力は次のようになります。 28 TO 24 ノート プログラム/関数は、空の文字列を含む任意の入力をサポートする必要があります。 XPおよびのXD直後にのみ発生しますTD。xpおよびのxd直後にのみ発生しますtd。 特定の場合に、入力文字列が開始または終了するとは限りません。 入力と出力の両方で、オプションで単一の末尾の改行を使用できます 得点 …

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