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

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

30
単語をアルファベットグリッドに合わせる
今日見たミームに触発されました。 チャレンジの説明 無限のアルファベットグリッドを考えてみましょう。 ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ... (CODEGOLFこの例では)単語を取り、それをグリッドのサブシーケンスにし、未使用の文字をスペースに置き換え、無限グリッドの最後の文字をすべて削除します。 C O DE G O L F 例 STACKEXCHANGE ST A C K E X C H A N G E ZYXWVUTSRQPONMLKJIHGFEDCBA Z Y X W V U T S R Q P O N M L K J I …

24
重要な空白
空白は、タブ(0x09)、改行(0x0A)、またはスペース(0x20)の3文字のいずれかに定義します。 この課題では、同じプログラミング言語で2つのプログラムまたは関数を作成し、次のタスクを実行します。 指定された文字列の空白文字を数えます。たとえば、入力 123 -_- abc def 7を返します(末尾の改行がない場合)。 空白の連続した実行で特定の文字列を分割します。文字列の先頭または末尾が空白の場合、末尾に空の文字列は返されません。たとえば、同じ入力 123 -_- abc def 戻り["123", "-_-", "abc", "def"]ます。 どちらの場合でも、STDIN、コマンドライン引数、または関数引数を介して入力を取得し、結果を返すか、STDOUTを出力できます。2番目のプログラムでは、STDOUTに出力することを選択した場合、引用符を囲むことなく、各文字列をそれぞれの行に出力してください。 両方のプログラムについて、入力には印刷可能なASCII(0x20から0x7E)と空白のみが含まれると想定できます。 これが問題です。 すべての空白が両方のプログラム/関数から削除される場合、結果の文字列は同一である必要があります。つまり、2つの提出は、空白文字の数と配置のみが異なる場合があります。 いずれのプログラム/関数にも文字列または正規表現リテラルを含めることはできません(言語に指定された文字タイプがある場合、文字リテラルは問題ありません)。 どちらのプログラム/機能にもコメントを含めることはできません。 プログラムのソースコードを直接的または間接的に読み取ってはなりません。 これはコードゴルフです。スコアは、両方のソリューションのサイズの合計(バイト単位)です。最低スコアが勝ちます。 リーダーボード 次のStack Snippetは、通常のリーダーボードと言語別の勝者の概要の両方を生成します。たとえあなたの選択した言語があなたが挑戦全体に勝つことを許さないとしても、なぜ2番目のリストのスポットをひったくってみませんか?人々がさまざまな言語でこの課題にどのように取り組んでいるかを知りたいと思います! 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes どこNで合計あなたの提出のサイズ。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes 合計数の前に個々の数を含めることもできます。たとえば、 # Python 2, 35 + 41 = 76 …

30
アルファベットの雨を作る
アルファベットの雨 タスク: 基本的な前提は、入力文字列を出力し、(大文字と小文字を区別しない)アルファベットの(0から始まる)位置に基づいて各文字を垂直に繰り返すことA-Zです。A位置0にあるので繰り返されないe、位置4にあるので4回繰り返されるP、位置15にあるので15回繰り返される、!存在しないA-Zので0回繰り返される、など わかりやすくするために、範囲外のB-Zb-z数字や特殊文字などは繰り返されないため、最初の行にのみ表示されます。 これはcode-golfであるため、各言語で最も短いソリューションが勝者です。 入力: 入力は、32 から126までの標準の印刷可能なASCII文字セットになり~ます。 入力文字列は1文字以上です。 先頭または末尾の空白はありません。 あなたは、文字列(として入力を取る取ることができます"hello"()または文字のリスト["h", "e", "l", "l", "o"]) 例: の入力aaaa: aaaa の入力abcda: abcda bcd cd d の入力は以下Programming Puzzles & Code Golf!を与えます: Programming Puzzles & Code Golf! Progr mming Puzzles Code Golf Progr mming Puzzles Code Golf Progr mming Puzzles ode Golf Progr mming …

17
掃海艇の手がかりを記入する
マインスイーパは人気のパズルゲームで、どのタイルが「地雷」であるかを、それらのタイルをクリックせずに発見する必要があります。各タイルは地雷(で表される*)または手掛かり、つまり8つの隣接するタイルのうちどれだけが地雷であるかを表す0から8までの数字です。今日のあなたの仕事は、鉱山を含むボードを取り、すべての手がかりを埋めることです。たとえば、5つの地雷がある次の5x4ボードを見てください。 * * * * * 手がかりを入力すると、ボードは次のようになります。 2*211 *33*1 12*32 0112* 詳細 完全なプログラム、またはスペースとアスタリスクのみを含む文字のグリッドを取り込み、各スペースが隣接する鉱山(アスタリスク)の数で置き換えられる別のグリッドを出力する関数を作成する必要があります。これらはいずれも、グリッドに受け入れられる形式です。 改行を含む文字列 文字/単一文字列の2Dリスト 文字列のリスト グリッドは少なくとも 1x1であると仮定できますが、グリッドはすべて地雷またはすべてのスペースである可能性があります。 入力グリッドには常に適切な数のスペースが埋め込まれます。いつものように、これはcode-golfなので、標準の抜け穴が適用され、バイト単位の最短回答が勝ちます! サンプルIO 空白を確認できるように、すべてのサンプルIOを角括弧で囲んで示します。 Input: [ * ] [* ] [ ] [ ] [ ** ] [ * * ] Output: [1101*1] [*10111] [110000] [012210] [12**21] [1*33*1] Input: [****] [****] Output: [****] …

30
「Code Bowling」というテキストを出力します
コードボウリング Brunswick Bowlingに雇われCode Bowlingて、モニターにテキストを出力する簡単なプログラムを作成しました。この会社はかなりの金額の価値があるとあなたはかなりのためにそれらを詐欺することができます感じビットキャッシュの。 職務記述書には、彼らが得点に基づいて支払うことを明確に示しており、得点システムを有利に操作し、これらの人から可能な限り最大の給与を得ることができると確信しています。そうするためには、得点システムがあなたをそうすることを妨げるように設計されているにもかかわらず、あなたのプログラム/関数にできるだけ多くのコードを詰めることを要求します。 貯金箱を取り出して、コードを書きましょう! チャレンジ ここでの課題は、Code Bowlingここに記述されているとおりに、できるだけ高いスコアでテキストを単に出力することです。(以下のセクション:スコアリングシステムを参照) 先頭と末尾の改行(改行)は許容されます。 コードは、プログラム全体または単なる実行可能関数である場合があります。 ルール 必須:この課題は、Code-Bowling:Common Rules、Revision 1.0.0を使用しています。詳細については、メタを参照してください。 文字:バイト比 Code-Bowlingでは、バイトカウントよりも文字カウントが優先されます。これの明白な理由は、マルチバイトのユニコード文字(例:🁴)をシングルバイトのユニコード文字の代わりに使用してバイト数を増やすことであり、ハイバイトのユニコード文字で最も多くの変数の名前を変更する人についてボウリングをより多くすることです最も戦略的に意味のある複雑なコードを作成する人よりも。 変数/関数/オブジェクト名 すべての変数名(またはオブジェクトポインター、関数名など)は1文字である必要があります。2文字の変数名を使用する唯一の許容時間は、可能な1文字の変数がすべて使用された後です。3文字の変数名を使用する唯一の許容時間は、考えられるすべての2文字の変数が使用された後です。等。 未使用のコード すべてのコードを使用する必要があります。個々のキャラクター(またはさまざまなキャラクターのセット)が削除された場合、プログラムが意味することは、タスクを常に適切に完了することに失敗しなければなりません。当然、プログラムのサブセットは、プログラムの残りがなければタスクを単独で完了することはできません。 コメント プログラム/関数で何らかの形で利用されない限り、文字数に対するコメントは許可されません。 スコアリングシステム: パングラムチャレンジ: パングラムは、すべての文字を少なくとも1回使用する文です。(速い茶色のキツネは怠laな犬を飛び越えます)。 このチャレンジタイプには、完全なパングラムが理論上の最大スコアを達成するように設計されたスコアリングシステムがあります(ただし、すべてのキャラクターを少なくとも1回使用する必要はありません)。さらに、任意のキャラクターを複数回使用するとペナルティが発生します。この課題は、アルファベット文字だけでなく、それ以上にも拡大します。 スコア指標: 使用される各キャラクターは、あなたのスコアを1増加させます。 英数字(az、AZ、0-9)を繰り返し使用すると、繰り返しごとに3ポイント減点されます(最初の使用では減点されません)。 ([!?.-,":';])角括弧を含む基本的な句読点を繰り返し使用すると、繰り返しごとに2ポイント減点されます。 {`~@#$%^&*_+=|\/><}中括弧を含む他のASCII文字を繰り返し使用すると、繰り返しごとに4ポイントが差し引かれます。 スペース、タブ、および改行を使用すると、使用ごとに1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 上記以外のキャラクター(エキゾチックキャラクター)を使用すると、1回の使用につき1ポイントが差し引かれます。つまり、キャラクターの合計にはカウントされません。 スコアリングツール: 自動化されたスコアリングウィジェットが作成されていると見ることができるここに。 これはコードボウリングの亜種です。最高得点のプログラムが勝ちます!(の最大スコアがあるため94、最初に到達した人(到達可能な場合)は、受け入れられた回答としてマークされますが、他の人は自由に答え続けることができます)

30
YYYYMMからMMMYYに変換
このSO質問に基づいて。 チャレンジはかなり単純YYYYMMですMMMYY。フォーマットで日付期間を指定すると、フォーマットで出力します。 ルール: 入力は、数字または数字のみで構成される正確に6文字の文字列になります。 最後の2桁がの間になります01と12。 出力は、月の大文字の3文字コード(下)を表し、入力の一部の最後の2桁を表す形式MMMYYでなければなりません。MMMYYYYYY 対応するコードを含む月のリスト: MM MMM 01 JAN 02 FEB 03 MAR 04 APR 05 MAY 06 JUN 07 JUL 08 AUG 09 SEP 10 OCT 11 NOV 12 DEC 例: Input Output 201604 APR16 200001 JAN00 000112 DEC01 123405 MAY34
54 code-golf  string  date 

27
Wordenticonsを生成する
識別子はハッシュ値の視覚的な描写であり、多くの場合、幾何学的形状の対称的な配置から作成されます。デフォルトのStack Exchangeアバターはidenticonです。この課題は、「wordenticons」、小文字の文字列、つまり単語に適用されるIDベースの単純なテキストベースのバージョンを作成することです。 チャレンジ 文字列Sを取り込んでその単語を出力するプログラムまたは関数を作成します。Sは空でないことが保証され、小文字の英字a〜zのみが含まれます。オプションで、Sの末尾に改行があると想定できます。 Sのwordenticonは2*length(S)、スペース( )、垂直バー(|)、および水平バー(―)で構成される辺の長さのテキストの正方形グリッドです。 Sの単語を生成するには、すべての列がSの文字(通常の左から右の読み取り順序)に対応し、すべての行がSの文字に対応する(通常の上下の読み取り順序の正方形グリッドを形成します)。 たとえば、Sがfood初期グリッドの場合、次のようになります food f.... o.... o.... d.... どこ.単なるプレースホルダです。 .グリッド内のすべての空のポイント(すべて)に対して: 列文字がアルファベット順に行文字の前に来た場合は、交換してください.と|。 列文字がアルファベット順に行の文字の後に来る場合は、交換してください.と―。 列と行の文字が同じ場合は.、 (スペース)で置き換えます。 foodこれらの各ステップの後の例を次に示します。 の追加|: food f...| o|..| o|..| d.... の追加―: food f.――| o|..| o|..| d―――. の追加 : food f ――| o| | o| | d――― wordenticonを完了するには、単語を含む余分な行と列を削除します ――| | | | | ――― 全体を水平にミラーリングします …

30
どの囲rankのランクが高いですか?
従来のボードゲームGoのプレイヤーは、ランクシステムでスキルを測定します。 ゲームを初めてプレイするプレイヤーは30位にランクされ(書き込み30k)、1位にカウントダウンされます(書き込み1k)。これらは、学生のランクと見なされます。 プレイヤーは、第1 段から第1 段(昇順)に昇格し、その後、第7 段(昇順)までカウントを進めます。これらはマスターランクです。1d7d 過去に非常に熟練したプレイヤー7dは、1番目のプロダンランク 1pに昇格し、9番目のプロダンランクまでカウントアップします(記述)。これが最高ランクです。9p つまり、ランクが順序付けられ30k < 29k < ··· < 1k < 1d < 2d < ··· < 7d < 1p < 2p < ··· < 9pます。 仕事 うち2つの文字列を与えられた{ 30k、...、 1k、1d、...、 7d、1p、...、9p}を入力とし、出力が高い両者のランク。(それらが等しい場合、単にどちらかの入力を出力します。) (通常、I / Oは柔軟です。答えは、関数または完全なプログラムであり、妥当な方法で入力を読み取り、妥当な方法で出力を生成します。) これはcode-golfです。目的は、コードのバイト数を最小限にすることです。 テストケース (形式:input1 input2 output。) 29k 9k 9k 21k 27k 21k …
53 code-golf  string  go 

30
同じ長さ、異なる文字列
チャレンジ 完全に印刷可能なASCII文字で構成される長さLの空でない文字列Sが与えられた場合、完全に印刷可能なASCII文字で構成されるがSと等しくない長さLの別の文字列を出力します。 この課題のために、印刷可能なASCII文字はU + 0020とU + 007Eの間の1つです。つまり、 (スペース)から~(チルダ)までです。改行とタブは含まれません。 たとえば、次の"abcde"ような有効な出力があります。 "11111" "abcdf" "edcba" ただし、これらは無効です。 "abcde" "bcde" "abcde0" テストケース "asdf" "1111" " " "~~~~~" "abcba" "1" " " "~" " ~" "~ " " 0" "!@#$%^&*()ABCDEFGhijklmnop1234567890" " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ルール 入力がすべて印刷可能なASCII文字で構成されていると仮定することができます。 入力に95個の印刷可能な文字がすべて含まれるとは限りません。 入力には少なくとも1文字が含まれ、256文字未満であると想定できます。 出力は、印刷可能なASCII文字のみで構成する必要があります。たとえば、inputにバイト\ x7Fを出力できませんでした"~"。 出力は、確率1の入力と異なる必要があります。つまり、入力とは異なるものになるまでランダムな文字列を生成できますが、L個のランダムな文字を出力することはできません。 出力では改行は使用できませんが、文字列にはカウントされない末尾の改行を1つ出力できます。 得点 これはcode-golfであるため、各言語のバイト単位の最短コードが優先されます。
53 code-golf  string 

26
大文字と小文字を区別する(非常に)敏感な文字列を解読する
ゴール これは簡単な挑戦です。あなたの目標は、各文字を同じケースの次の文字と交換し、文字以外の文字を変更せずに文字列を解読することです。 ステップごとの説明 最初の文字はEです。大文字の次の文字を探します:a Cです。これらの文字を交換すると、につながりCdoE!ます。 次の文字に進みdます。これはです。次の文字を小文字で探します:それはoです。これらの文字を交換すると、につながりCodE!ます。 次のキャラクターに進みます。これはdここで移動したものです。既に処理されているため、無視します。 次のキャラクターに進みます。これは、Eステップ1でここに移動したものです。既に処理されているため、無視します。 次の文字に進み!ます。これはです。手紙ではないので無視します。 ルール 入力文字列は、32〜126の範囲の印刷可能なASCII文字のみで構成されていると想定できます。 完全なプログラムまたは関数を作成して、結果を出力または返すことができます。 入力文字列に奇数個の文字が含まれている場合、最後の残りの文字を別の文字と交換することはできません。文字列に含まれる文字数が偶数で、大文字と小文字が奇数である場合、同じロジックが適用されます。 これはコードゴルフなので、バイト単位の最短回答が勝ちです。標準的な抜け穴は禁止されています。 テストケース Input : lLEhW OroLd! Output: hELlO WorLd! Input : rpGOZmaimgn uplRzse naC DEoO LdGf Output: prOGRamming puzZles anD COdE GoLf Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg Output: tHe quICK BROWN …
53 code-golf  string 

30
ユーザー感謝の課題#1:デニス♦
私は、PPCGコミュニティがすべての人にとって、あるいは多分私だけのために楽しい場所になるのを助け、これからも助けてくれるユーザーの一連の挑戦をするという自発的なアイデアを得ました。:P Dennisの名前を1sと0sの配列に変換すると、各子音がで1あり、各母音がである0場合、配列は[1, 0, 1, 1, 0, 1]であり、対称です。したがって、あなたの課題は、このような他の名前が何かを判断することです。 チャレンジ ASCII文字列を指定して、文字以外のすべての文字を削除し、母音と子音の構成が対称かどうかを判断します。y母音ではありません。 プログラムはこのタイプの文字列である必要はありません。 テストケース Dennis -> truthy Martin -> truthy Martin Ender -> truthy Alex -> falsy Alex A. -> truthy Doorknob -> falsy Mego -> falsy 参照実装 このPython 3コードは、テストケースが与えられると正しい出力を提供します。それはばかげていることなくそれを作ることができたのと同じくらい無制限です。 Python 3 s = input() l = [] for c in s: if …

30
六角形にしてください。
今日は、ASCII六角形を作成します。正の整数nを取り、アスタリスクで構成されるサイズnの六角形グリッドを出力するプログラムまたは関数を作成する必要があります。たとえば、サイズ2の六角形は次のようになります。 * * * * * * * サイズ3の六角形は次のようになります。 * * * * * * * * * * * * * * * * * * * あなたは、任意の使用することができ、デフォルトの入力および出力のメソッドをファイルの書き込み/、たとえばSTDIO / STDOUTのために、関数の引数と戻り値や読書を。 入力は常に有効であると仮定することができます。そのため、正の整数でない場合、プログラムは必要な処理を実行できます。ただし、サイズ1の六角形の特殊なケースを処理する必要があります。これはたまたま単一のアスタリスクです。 * 出力が視覚的に同じである限り、先頭と末尾の空白は許可されます。 例: 1: * 2: * * * * * * * 3: * * * * …

30
寒すぎる、温度を上げる
これは私の最初のゴルフコンテストです。 するべきこと 可能な限り短いバイトで、ACリモートコントロールシステムを構築してください。私の部屋は今あまりにも寒く、リモコンがありません。 今、私はあなたが文字通りそれまたは何かを構築することを望まない、ただこれをゴルフする: 温度の緩やかな増分。40度から始まり、正確に72度で終わります。増分時間は、増分ごとに常に500ミリ秒でなければなりません。最後にさらに500ms待つことができます。ただし、停止することをお勧めします。私のリモコンのように、増分自体は毎回2ずつ増加する必要があります。 画面をクリアしないでください。改行が必要です。 何が起こるか 出力例(括弧内のすべてを出力すべきではありません)。 40 (wait 500 millis) 42 (wait 500 millis) 44 (..repeat until 72..) 72 (stop or wait 500ms) 覚えておいてください これは私の最初のゴルフですので、これがゴルフに難しすぎるなら、私は謝罪します。:( 幸運を祈ります、ゴルファー!

30
BIBABOBUデコーダーをゴルフしましょう
将来旅行中に、2275年頃の子供たちの間で面白いゲームに気づきました。彼らは、偉大な偉大な偉大な両親に彼らが言っていることを理解させたくないとき、BIBABOBUを使用します。明らかに、私はサイボーグ以前の頭脳でも何も理解できず、本当に愚かだと感じました(または技術的には感じるでしょう)。そのため、次回の訪問にはデコーダーが必要です。 ビバボブ? 長い間廃止されていますが、ASCIIは2275のポップカルチャーで一般的に使用されており、この言語はASCIIに基づいています。 文字列は、BIBABOBUでそのようにエンコードされます。 すべての文字をASCIIコードに変換します。 各コードの2桁の16進数表現を取得し、次の表を使用して変換します。 0: BI 4: BIDI 8: BADI C: BODI 1: BA 5: BIDA 9: BADA D: BODA 2: BO 6: BIDO A: BADO E: BODO 3: BU 7: BIDU B: BADU F: BODU 例 "Hello!" → 48 65 6C 6C 6F 21 → "BIDIBADI BIDOBIDA …

15
無味およびその他のバグ
標準のAndroid電卓アプリの一部のバージョンでは、「sin」などのキーを押してから「del」キーを押して「si」にすることができます。おそらく、削除するのが面倒なバグです。 次の文字/文字のグループ化が入力可能です: 罪 si s cos 共同 c 日焼け た t ln l ログ ロ e したがって、ta-stelessのために「tasteless」を入力できます。「c-log-s」のために「clogs」も入力可能です。ただし、「got」は入力可能ではなく、「an」または「xyz」でもありません。 単一の単語(または文字のシーケンス、入力ではazのみ)を入力として受け取り、単語が入力可能かどうかを示す出力を生成するプログラムを作成します。 出力は、単一の文字/文字/数字などです。または、より大きくなる場合があります。入力可能な単語はすべて同じ出力を生成する必要があります。入力不可能な単語もすべて同じ出力を生成する必要があります。 PS好奇心だけで、「無味」は辞書に載っている最も長い辞書の単語ですか?

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