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

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

21
ストライピングを削除してください![閉まっている]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 あなたは、適切な協力者の責任を負うように努力します。 交換ランダム(uNifoRm、50%変更されたUPCERCASE)を使用したイテレーターのトラブルシューティング それでおしまい。 (句読点でごめんなさい、それは質問の概念のためでした) 読みやすいバージョン: 印刷可能なASCII文字で構成される文字列が与えられます。 文字列を繰り返し処理し、ランダム(均一、50%の確率で大文字)の文字を大文字に、その他すべてを小文字に変更します。 それでおしまい。 exaMplEs iNpuT => pOssiBle oUtPUt Programming puzzles and Code Golf => pRogRaMMiNg pUzzlEs aNd coDe goLf dErpity deRp derP => deRpiTy dErp DerP CAAAPSLOOOCK => cAAapslOoocK _#$^&^&* => _#$^&^&*

15
コッツを送ってください!
モデレーターと編集者への注意:この投稿のタイトルは有効であり、変更しないでください。スペルミスは意図的なものであり、課題の一部です。 バックストーリー (ステレオ)典型的な悪いSOの質問は、「plz send teh codez!」の流れに沿って何かを尋ねます。言い換えれば、それは誰かに依頼者のために仕事をして、一度きりの問題に対する完全な解決策を提供するように頼みます。Meta.SEでこの質問を引用します。 ...特定のカテゴリーの質問についての調査であり、調査や努力は一切必要ありません。問題の完全な解決策を求めるだけです。これらのタイプの質問は、一般にStack Overflowが無料のコーディングサービスであると想定する傾向があります... では、実際の課題は何ですか?それは簡単です: プログラムまたは関数などは、入力を文字列(STDIN、パラメーターなどから)として受け取る必要があり、文字列にPlz send teh codez!出力が含まれている場合-1 flag comment(反対投票、オフトピックとしてフラグを付け、質問の悪さについてのコメント)。それ以外の場合は出力+1(あなたは賛成しています)。 しかし、待ってください…もっとあります! プログラムには、以下の文字セットを5つ以上含めることはできません。 すべての特殊文字(スペース、改行(0x0a)、大文字と小文字を区別しないアルファベット、数字以外) 任意の数字(0-9) いずれかpzcm(大文字と小文字を区別しない) いずれかhten(大文字と小文字を区別しない) のいずれか qwryuioasdfgjklxvb のいずれか QWRYUIOASDFGJKLXVB 明確にするために、使用できる文字セットは4つまでです。 スペース、タブ、改行は一切制限されていませんが、バイト数には含まれています 最終的な制限 プログラムには、(スペース)から(〜)の範囲のUnicode のみ、および(LF改行)と(タブ)を含める必要があります。これは、コードゴルフ言語を除外し、伝統的な言語に変化を与えるか、少なくとも競技場を平準化するためです。0x200x7e0x0a0x09 ノート: これはcode-golfであり、バイト単位の最短の回答が勝ちます! 入力は、STDIN、関数パラメーター、コマンドラインパラメーターなどから取得できますが、変数からは取得できません。 出力は、STDOUT、関数の戻り値、またはエラー/例外である可能性があります。末尾に改行を含めることができます。 この課題は、高度なUnicode文字を除外することにより、多くのゴルフ言語を禁止しているため、伝統的な言語の競争が奨励されています。Cは勝つチャンスさえ持っているかもしれません! 質問は?以下のコメント! 難しすぎると… 回答の文字セットは無視できますが、その場合は競合しなくなります。 注:最大4つの文字セットを使用できるようになりました。どういたしまして。 このスニペットを使用して、コードが有効かどうかを確認できます。 コードスニペットを表示 let f = code => { let sets = …

2
基数ツリーの高さを計算する
前書き 基数ツリー、圧縮トライまたは圧縮プレフィックスツリーとして知られているが、文字列の集合を記憶するツリー状のデータ構造です。ツリーのエッジは空でない文字列でラベル付けされ、各ノードは終端または非終端です。ツリーに含まれる文字列は、ルートからターミナルノードまでのすべてのパスのラベルです。ツリーは、次の条件で定義される通常の形式である必要があります。 すべての非終端非ルートノードには、少なくとも2つの子があります。 すべてのノードで、すべての発信エッジの最初の文字が異なります。 たとえば、次のセットは非終端ノードと終端ノード["test", "testing", "tested", "team", "teams", "technical", "sick", "silly"]を(N)表す基数ツリーです(T)。 -(N)-te-(N)-st-(T)-ing-(T) | | | | | +-ed-(T) | | | +-am-(T)-s-(T) | | | +-chnical-(T) | +-si-(N)-ck-(T) | +-lly-(T) この課題では、入力として文字列を指定して、木の高さを計算します。 入力 入力は、小文字のASCII文字列の空でないリストです。重複は含まれませんが、どのような順序でもかまいません。空の文字列が含まれる場合があります。入力は適切な形式で取得できます。 出力 出力は、対応する基数ツリー内の最長のルートからリーフへのパスの長さで、含まれるノードの数で測定されます。 上記の例では、パスに対応する正しい出力は4です。 (N)-te-(N)-st-(T)-ing-(T) (N)-te-(N)-st-(T)-ed-(T) (N)-te-(N)-am-(T)-s-(T) 4つのノードを含みます。 さらなる例 基数ツリーの例をいくつか示します。 [""] -(T) ["","fuller"] -(T)-fuller-(T) ["","full","fuller"] -(T)-full-(T)-er-(T) ["full","fuller"] …

4
航空機マーシャリングスクール
一連の航空機マーシャリング手信号を表す文字列が与えられた場合、これらの信号に続く航空機の最終位置を計算する関数またはプログラムを記述します。 NB:この挑戦で座標がデカルト座標の対、プラスコンパス方向見出しとして表される:x座標され、y座標であり、のいずれかである、、、または。(x, y, h)xyhNESW (0, 0, N)エンジンをオフにして、架空のグリッド上にある航空機から始めます。入力は、コンマ区切りの文字のペアを含む文字列で、各ペアは1つのマーシャリング信号を表します。順番に各マーシャリング信号を追跡し(x, y, h)、航空機の最終位置の形式で座標を出力する必要があります。 信号が航空機の移動を必要とする場合、航空機が受信するそのタイプの信号ごとに必要な方向に1ユニット移動すると想定します。信号が航空機に方向転換を要求する場合、受信するそのタイプの信号ごとに必要な方向に90度回転すると仮定します。 エンジンがオフの場合、航空機は移動できません。航空機のエンジンがオフで動き/方向指示器を受け取った場合は、動き/方向転換を行わないでください。 信号 各マーシャリング信号は、1組の文字で表されます。ペアの1つ目は、航空機の視点からのマーシャラーの左腕の位置を表し、2つ目は同じPOVからの右腕の位置を表します。この便利なシグナルのチャートが役立つかもしれません。 o/ — START ENGINES (no movement, no turn) -/ — CUT ENGINES (no movement, no turn) -~ — TURN LEFT (no movement, left turn) ~- — TURN RIGHT (no movement, right turn) ~~ — COME FORWARD (forward …

7
一言で個性を出そう!
大好き/usr/share/dict/wordsです。とても便利です!できる限り、すべてのプログラムで使用します。単語の個性をテストすることで、この非常に便利なファイルを利用することができます。 入力 単語; このチャレンジで任意の文字列として定義されています /usr/share/dict/wordsあるフォーマットで; ハードコーディングし、ディスクから読み取り、2番目の引数として想定することができます。 出力 言葉の個性(下記参照) 単語の個性は次の方程式から導出されます。 <the number of words for which it is a substring> / <length of the word> 例を見てみましょう: hello。(helloの長さ)でhello割った部分文字列を含む12の単語があり5、helloの個性は12/5または2.4 PSこれはcodegolfであるため、個性スコアが低いほど、より個性的です 個性は長い言葉なので、プログラムはできるだけ短くする必要があります 幸運を! テストケース この便利なNode.jsスクリプトを使用できます。これは、コードに適合するためのチャレンジ要件に適合します。また、テストケースの生成方法も示します。 var fs = require("fs"); var word = process.argv[2]; process.stdout.write("Reading file...") fs.readFile("/usr/share/dict/words", function(err, contents) { console.log("Done") if (err) throw err; …

3
2シンボル数学
前書き 次の事実により、4つの基本的な数学演算子(+、-、*、/)を2つに減らすことができます。 x + y = x - (-y) x * y = x / (1/y), y != 0 x * 0 = 0/x チャレンジ 課題は、以下を含む「文字列」として入力を受け取ることです。 数字 単一文字変数( "x"、 "y") 4つの基本的な数学演算子(+、-、*、/) 括弧 入力と同じ数学的な結果を生成するように操作された文字列を出力しますが、数学記号「-」と「/」のみを含みます 詳細 入力は任意の受け入れ可能な形式(ファイル、STDINなど)にすることができ、文字列または文字配列(配列の配列ではない)として表すことができます。 出力は、任意の受け入れ可能な形式(ファイル、STDINなど)にすることができ、文字列または文字配列(配列の配列ではない)として表すことができます。 括弧を認識して維持する必要があります 標準の抜け穴は許可されていません またはx + yとして表現したい場合は、あなたの選択ですx - -yx - (-y) 操作の順序を維持する必要があります 無効な入力を処理する必要はありません 入力は空でも、単一の数値/変数でもかまいません。その場合、プログラムは入力を出力する必要があります 注:あなたはしていない限り、導入に置換を使用する必要がありinput = …

25
列暗号をエンコードする
エンコードする文字列と列数(キー)を指定して、次のように文字列をエンコードします。 例Hello, world!とキーを使用します3 まず、列の数を書き出します。 1 2 3 次に、左上から列ごとに1文字ずつテキストを書き、列が足りなくなったら次の行に進みます。 1 2 3 H e l l o , w o r l d ! ここで、エンコードされたテキストを取得するには、左上隅からテキストを読み取りますが、今回は最初に1つの列を読み取ってから、次の列を読み取っていきます。スロットにキャラクターがいない場合はスペースを入れてください。 Hl r!eowl l,od ここには、末尾にスペースがあることに注意してください。 これはエンコードされたテキストです。 別のテストケースはProgramming Puzzles and Code Golf SEkeyを使っています5: 1 2 3 4 5 P r o g r a m m i n …

10
文字列の連結
チャレンジ 小文字のみが含まれ、スペースが含まれていない2つの文字列がある場合、結果は短い文字列、アンダースコア、長い文字列の順になり、短い文字列に含まれる各文字について、文字の最初のインスタンスが削除されます。 文字列の長さが常に異なると想定できます。 テストケース: sale salinewater Result: sale_inwater (only the first 'a' in salinewater is removed) jostling juggle Result: juggle_ostin (juggle is the shorter string) juggle juggler Result: juggle_r (a 'g' is removed for every 'g' in the shorter string) ルール これはコードゴルフなので、バイト単位の最短の答えが勝ちます!

10
それは真実か偽物ですか?
何かが真実であるかどうかを表現するには、非常に多くの異なる方法があります!この課題の目標は、生産することである標準の出力truthyやfalsy、さまざまな入力truthyとfalsy値のために。 この課題のために、以下の入力は真実と見なされます。 ゼロ以外の値を持つ符号付き整数を表す文字列(数字のみが含まれ、先頭に[0-9]オプションがあります-)。文字列-0が入力として与えられることは決してないことに注意してください。0以外の整数の前にaが付くことは決してありません0(つまり01、入力として与えられることはなく、同様に入力として与えられる-01こともありません)。 いずれかに相当する、大文字と小文字を区別しない文字列defined、found、nonnil、non-nil、on、success、t、true、y、及びyes この課題のために、次の入力は偽物と見なされます。 文字列0。繰り返されるゼロ(00、00...)は入力として与えられません。 空の文字列 いずれかに相当する、大文字と小文字を区別しない文字列f、failure、false、n、nan、nil、no、notfound、not-found、null、nullptr、off、及びundefined 入力 入力は、真偽値を表す文字列です。文字列は任意のソース(stdio、関数パラメーターなど)から取得できます。先頭/末尾の空白はありません。 入力は、上記の許可された真偽値のいずれかに一致することが保証されています(つまり、エラー処理を提供する必要はありません)。 出力 プログラム/関数は、入力の「真実性」または「偽性」を表す真偽値を出力する必要があります。出力で入力を変換する必要がある正確に1つの真偽値と1つの偽値のみを指定できます(これらは「標準化された」真偽値)。出力は、任意のシンク(stdio、戻り値、出力パラメーターなど)に書き込むことができます。 回答で選択したものtruthyとfalsy値を指定してください。 例:文字列trueを真の値として選択した場合、真の整数も使用できません1。 テストケース テストケースは、1行目が入力、2行目が出力であるため、フォーマットされています。 -1 true 1 true 1234 true -4321 true defined true deFined true Found true nonnil true non-nil true ON true SuCCess true T true true true y true YeS true 0 false '' …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

2
グリッド上の単語を見つけよう!
開始座標と終了座標を使用してワードサーチから単語を抽出するプログラムまたは関数を記述します。 入力 プログラムまたは関数は、開始座標、終了座標、および単語を抽出するワード検索の 3つのパラメーターを受け入れる必要があります。 開始座標は、任意の形式で取り込むことができます。 常に整数になります グリッドの左下は(0、0)です グリッドの境界の外にある座標は提供されません (7、0)や(0、6)など、互いに垂直、水平、または完全に対角ではない座標は提供されません。 端座標と同じ形式で撮影される開始座標 ワードサーチが可能になる、文字列、またはあなたの言語の最も近い同等 これは、各行が改行で1 つのスペースで区切られた文字のグリッドになります。高さや幅は任意ですが、異なる場合もありますが、常に長方形になります。例えば: A G O A T C A T E A T M E N O W W O R D S E A R A K L L K J H G N P L F G …

5
単語または近い単語?
文字列(またはあなたの言語で同等のもの)を指定するプログラムまたは関数を記述し、文字列が単語かどうかを判断し、真または偽の値を出力します。 (これは単語でもありますか?の重複ではありませんか?間違った単語は非常に異なる方法で生成され、これはまったく異なる課題になると思います) 単語はすべて小文字で、5〜10文字で、アポストロフィはありません。 正しい単語は、SCOWL英語単語リスト(サイズ50)のランダムに選択されたサブセットです。 不適切な単語は、スワッピングと置換の2つの方法で生成されます。 「スワッピング」単語は、ランダムに選択された(実際の)単語の文字に変更されたフィッシャーイェーツのシャッフルを使用して生成されます。毎回文字を交換する代わりに、文字を交換する場合としない場合があります(確率が異なるため、一部の単語は他の単語よりも現実的です)。新しい単語が既存の単語と一致する場合、結果は破棄され、別の単語が生成されます。 「置換」単語は、同様の方法を使用して生成されますが、文字を別の文字と交換する代わりに、各文字が別のランダムな文字に置き換えられる可能性があります。 各メソッドは、偽の単語の50%を生成するために使用されます。 得点 関数は150バイト未満でなければなりません。スコアリングは次のように決定されます。 percentage of answers correct + ((150 - length of program) / 10) ルール これは多数のテストケース(各ワードリストは1000ワード)を扱うため、自動テストプログラムで問題ありません。自動テスターはプログラムの長さにはカウントされません。ただし、他のユーザーがテストできるように投稿する必要があります。 抜け穴はありません。 スペル/辞書関連のビルトインはありません。 資源 単語のリスト: http : //pastebin.com/Leb6rUvt 単語ではないリスト(更新済み):http : //pastebin.com/rEyWdV7S その他のリソース(SCOWLワードリストとランダムワードの生成に使用されるコード):https ://www.dropbox.com/sh/46k13ekm0zvm19z/AAAFL25Z8ogLvXWTDmRwVdiGa?dl=0

5
数式を印刷する
前書き 化学には、.xyz拡張子(https://en.wikipedia.org/wiki/XYZ_file_format)のタイプがあり、化学要素と各要素の平面の座標が各行に出力されます。これは、化学者が化合物を理解し、3Dで化合物を視覚化するのに非常に役立ちます。.xyzファイルを指定して、化学式を印刷するのは楽しいと思いました。 チャレンジ .xyzファイルを指定して、任意のプログラミング言語で化合物の化学式を可能な限り少ないバイト数で出力します。注意: もともと、入力はファイルとして与えられるべきでした。私が指摘したように、これは挑戦を制約します。したがって、入力が文字列のリスト/配列であり、それぞれが.xyzファイルの行を表すと想定する場合があります。 要素の順序に制限はありません。 各要素は、要素とその出現回数を区切るアンダースコア「_」で印刷する必要があります .xyzファイルの最初の2行は、要素の数とコメント行です(覚えておいてください)。 入力と出力の例 以下を含むファイルp.xyzがあるとします(最初の行は要素の数、2番目の行はコメントです)。 5 A mystery chemical formula... Ba 0.000 0.000 0.000 Hf 0.5 0.5 0.5 O 0.5 0.5 0.000 O 0.5 0.000 0.5 O 0.000 0.5 0.5 出力: Ba_1Hf_1O_3 テスト中 簡単なテストは、上記の例で行われます。より徹底的なテストは次のとおりです。テストファイルは数千行なので、.xyzファイルを共有します。https://gist.github.com/nachonavarro/1e95cb8bbbc644af3c44

2
文字列かどうか?
最近、新しいTeaScriptインタープリターで問題が発生しています。最大の問題は、文字列に特殊文字が含まれているかどうかを識別することです。 チャレンジ 特殊文字は、コードポイント160〜255の文字として定義されます。コードポイント0〜255の文字列である入力が与えられますが、最大1つは特殊文字です。入力は、ゼロ以上の文字のプレフィックス、引用符付き文字列、およびゼロ以上の文字のサフィックスで構成されます。引用符で囲まれた文字列に特殊文字がある場合は、真の値を出力し、そうでない場合は偽の値を出力する必要があります。 細部 文字"'は引用符と見なされます。 引用符で囲まれた文字列内では、バックスラッシュ\を使用して次の文字をエスケープします。プレフィックスとサフィックスでは、特別な意味はありません。 見積もりは常にバランスが取れています。 引用符で囲まれた文字列は1つだけです。 例 "Hello, World¡" true "Hello, World"¡ false "Hello' Wo\"rld\\"¡ false ab"cd\"ef\\gh\i\\"£ false \"foo¡" true

3
私の疑似コードを現実のものにする
私は、用途は中括弧の代わりに空白といういくつかのJavaの擬似コードを持っている、と私はしたい、あなたがそれを変換します。 I / O プログラムは、ブロックをインデントするために使用されるスペースの数を指定する番号とともに、入力ファイルを取得する必要があります。次に例を示します。 $ convert.lang input.p 4 // 4つのスペースをブロック区切り文字として使用して変換します $ convert.lang input.p 2 // 2つのスペースをブロック区切り文字として使用して変換します 次に、指定されたブロック区切り文字を使用して結果を変換し、結果をstdoutに出力します。 プログラムの要点 ブロックはで開き:、ブロック内の各行は、Pythonコードのようにブロック区切り文字を使用してインデントされます。 while(true): System.out.println( "Test"); 各々が:で置換され{、そして}ブロックの末尾に追加されます。 while(true){ System.out.println( "Test"); } 例 入力: パブリッククラステスト: public static void main(String [] args): System.out.println( "Java is verbose ..."); 出力: $ Test.pseudojava 4を変換します パブリッククラスTest { public static …

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