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

このタグは、入力を解析することが課題の大部分/主要な部分である課題を示します。

6
括弧でくくられた中置に対する修正
Quylthulgは、Chris Presseyによる言語で、panfixと呼ばれるものを使用して中置表記法の問題を解決しようとします。 postfixと同様に、panfixは、デフォルトの演算子の優先順位をオーバーライドするために、括弧などの不可解な仕掛けを展開する必要はありません。同時に、パンフィックスは、インフィックスと同じ順序と方法で用語を指定することを可能にします。 接頭辞または接尾辞の曖昧さとともに、挿入記法の便利さをどのように取得しますか?もちろん、3つすべてを使用してください! =y=+*3*x*+1+= より正式には、letを+演算子、and aをb式にします。その後(a+b)、有効な(括弧で囲まれた)中置式であり、その式のパンフィックス表現はです+a+b+。ここで、並置は連結を表します。 あなたの目標は、パンフィックス文字列を取得し、それを完全に括弧で囲まれたインフィックスに変換することです: (y=((3*x)+1)) 簡単にするために、次の変更を行います。 演算子は2つの一意の文字のみで構成できます(いずれかを選択できますが、ここでは*andを使用します+)。 リテラルは1つだけで、別の個別の文字で構成されます(いずれかを選択できますが、ここではを使用します_)。 入力は整形式のパンフィックス式になります。 以下のために複雑、私たちは以下の変更を行います: 演算子は、1つだけでなく、任意の正数の文字で構成できます。 これは、文字列の残りの部分を見ることなく、演算子文字の特定の部分文字列がどのように分割されるかを必ずしも決定できないため、挑戦をより困難にします。 これは、@ user202729の好意によるチャレンジのリファレンス実装です。 テストケース format: input -> output +*+_*+_*+++_+*+_*+_*+++ -> ((_*+_)+(_+(_*+_))) **++*+***++_+_++_+*++*+***_*++*+*****_**_*_*** -> ((((_+_)+_)*++*+***_)*(_*(_*_))) ***_**_***_* -> ((_**_)*_) +_+_+ -> (_+_) *+*+++**+***+++++_*+*+++**+***+++++_*+*+++**+***+++++ -> (_*+*+++**+***+++++_) *++++*+*_*_*+*+++****+_++****+_++****++*+*+++_*+++ -> (((_*_)+*+(_++****+_))*+++_) +**+_*+_*+*_*+*_*+*_+*_+**+ -> (((_*+_)*_)+(_*(_+*_))) +**+++++_+++++_+++++*_*+*+_++++++_+++++_+++++++* -> (((_+++++_)*_)+*(_+(_+++++_))) +*+*+_+*+_+*+*_*+*_*+*+_+*+_+*+*+ -> (((_+*+_)*_)+(_*(_+*+_))) …

15
符号付き単項数のリストを解析します
単項数は通常、非負の整数のみを表しますが、次のようにすべての整数を表すように拡張できます。 正の整数NはNとして表されます 1ます。5 -> 11111 負の整数-Nは、aの0後にNが続くことで表されます1ます。-5 -> 011111 ゼロは次のように表されます 0 0セパレータとして使用すると、これらの数値のリストを明確に表すことができます。 3,-2,0,1 111,011,0,1 111 0 011 0 0 0 1 11100110001 あなたの仕事:符号付き単項数のリストを表す文字列を取得し、それを10進数のリストに変換します。 詳細 入力は、符号付き単項数の完全なリストであると想定できます。特に、プログラムは1)空の入力または2)区切り文字で終わる入力を処理する必要はありません。 各数値の大きさは127を超えないと想定することができます。文字列またはリストの最大サイズを持つ言語では、入力と出力が言語のデータ構造に適合すると想定できますが、アルゴリズムは理論的には任意のサイズ。 プログラムまたは関数は、標準的な方法でI / Oを実行できます。入力は、文字列または文字のリスト、単一文字の文字列、整数、またはブール値です。1およびを表すために任意の2文字を使用でき0ます。あなたが使用していない場合1や0、使用しているどの文字を指定してください。 出力は、妥当なリスト形式の10進数でなければなりません(特に、数字の間に何らかの区切り文字が必要です)。負の数値はマイナス記号で示す必要がありますが、言語の負の整数の形式が異なる場合はそれも受け入れます。ゼロは、出力で0またはとして表される場合があります-0。 テストケース 1 -> 1 0 -> 0 (or -0, and similarly for the other test cases) 011 -> -2 1101 -> …

1
担当者がいなければ、あなたの評判はどうでしょうか?
この課題では、PPCGにレピュテーションキャップが存在しなかった場合のレピュテーションを計算します。 アドレスはcodegolf.stackexchange.com/reputationで評価の変更のために誰でもrawdataにアクセスできます。生データは、このような設定に従います(これらは、私のバージョンのページの最初の数行です。 total votes: 2955 -- bonuses (100) 2 37663 (10) -- 2014-09-11 rep +110 = 111 2 41751 (10) -- 2014-11-23 rep +10 = 121 2 41751 (10) 2 41751 (10) -- 2014-11-24 rep +20 = 141 最初の行は、このチャレンジとは無関係です(すべての回答と質問に対して受け取った投票の総数を示します)。2行目は「関連付けボーナス」を示しています。ボーナスがない場合、その行はまったくありません。 これらの2行(またはボーナスがない場合は1行)の後に、質問ごとの評判の変更のリストと、毎日獲得または失ったすべての担当者の概要が表示されます。また、その日の終わりにあなたが持っている合計評価のリストを取得します。このリストには、評判が変わった日のみが表示されます。 各行の先頭に識別子があります(毎日の要約行を除く)。これらは、次の潜在的な評判変更の理由を表しています。 1 : Accept (+2 if you accept, +15 if …

1
ASCIIボックス描画をUnicodeに変換します
私は、私が実際に役立つと思うものへのリクエストを恥知らずに投稿しています。タスクは、このような任意のアスキーボックスの描画を取ることです | +----+----+ | state A +---+ +---------+ | | +----v----+ | state B | +---------+ ...そして、ユニコードボックス描画文字を使用して、より美しいものに変換します。たとえば、 │ ╭────┴────╮ │ state A ├───╮ ╰─────────╯ │ │ ╭────v────╮ │ state B │ ╰─────────╯ さらに詳細に: 変換のみ+-| 文字-他の文字は変更しないでください 使用する 箱型図垂直ライト(U + 2502)│ ボックスドローイングライト水平(U + 2500)─ 箱の図ライトアークダウンおよび右(U + 256D)╭ 箱の図ライトアークダウンと左(U + 256E)╮ ボックス図面ライトアークアップおよび左(U + …

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

5
ネストされた数字リード文字列を解析する
タスク 文字列Sは、次のプロセスで構築されます。 S空の文字列から始めます。 Sの形式の文字列のある位置に挿入しますds。ここでdは0以外の数字でs、d小文字のASCII文字の文字列です。dsはの構成要素であると言いSます。 ステップ2に進むか、停止します。 あなたの仕事は、そのような文字列を入力として受け取り、その構成要素を先頭の数字の出現順に連結して単一の文字列に出力することです。出力は単一の文字列でなければならず、構成要素間に区切り文字(改行を含む)を含めることはできません。入力文字列と出力文字列に引用符を付けるかどうかを選択できます。入力と出力が空になることはありません。 例 上記のプロセスで文字列を作成しましょう。構成要素の構造は、最終結果で強調表示されます。 S = "" // Insert "3abc" S = "3abc" // Insert "2gh" after 'a' S = "3a2ghbc" // Insert "1x" before '3' S = "1x3a2ghbc" // Insert "3tty" after '3' S = "1x33ttya2ghbc" // Final result └┘│└┴┴┘│└┴┘││ └────┴───┴┘ 出力は、数字の順に構成要素を連結することによって取得されます。この場合、正しい出力は "1x3abc3tty2gh" ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 …

1
The Nineteenth Byteで最も多くのスターを獲得しているのは誰ですか?
注:この課題には、HTML Webページのダウンロードと選別が含まれます。あなたの言語がこれを処理できない場合、このチャレンジに参加したくないかもしれません。 前書き The 19th Byte Chatでは、誰が右starをリードするかについての議論が常にあります。だから、みんなを助けて、チャットでユーザーごとの星の合計数を数えましょう。 チャレンジ Nゼロより大きい正の整数を指定Nして、チャット内の最後のスター付きメッセージのスターボードのリーダーを計算します。これらのメッセージはここで表示できます。ヒント:各ページには50個のスター付きメッセージがあります。出力は、スター付きメッセージの量による上位5ユーザーのリストになります。これらのユーザーのユーザー名を表示できる場合、バイトカウントから-15%のボーナスが付与されますが、ユーザーID番号を表示するだけであればペナルティは与えられません。スター付きメッセージの一部に冒fanがあることに注意してください。このタイプの言語に敏感な場合は、注意してページを表示してください。 例(画像はこのチャレンジを書いている時点での現在の右boardです): (赤)入力:5出力(ボーナスあり):[Geobits Sp3000 PhiNotPi Seadrus] (青)入力:10出力(ボーナスなし):[51024 17335 24697 116494 129255] (緑)入力:14出力(ボーナスなし):[51024 116494 141697 17335 24697] 余分なもの: トップ5のネクタイは、ユーザーID番号の小さい順に並べられます。ユーザーが5人未満の場合は、最後に空のスロットがあるリーダーボードを出力します。入力および出力は、任意の形式にすることができます。出力は大文字にする必要はありません。入力がより大きい場合50、2ページ目、3ページ目などのメッセージをカウントする必要があり2^31ます。存在し、2)プログラムをクラッシュさせません(配列を大きくしたり、メモリを使い果たしたりすることによって)。 これはcode-golfで、バイト単位の最短コードが勝ちです! リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) …

5
Code Golf:Googleの結果の解析
Googleで何かを検索すると、結果ページ内で、ユーザーは結果の最初のページの緑色のリンクを見ることができます。 可能な限り短い形式で、バイト単位で、任意の言語を使用して、stdoutへのリンクをリストの形式で表示します。スタック交換クエリの最初の結果の例を次に示します。 入力: 選択:URL(www.google.com/search?q=stackexchange&ie=utf-8&oe=utf-8)または単にstackexchange 出力: french.stackexchange.com/, stackoverflow.com/, fr.wikipedia.org/wiki/Stack_Exchange_Network, en.wikipedia.org/wiki/Stack_Exchange,... ルール: 結果がhttps://www.google.comの検索と同じである限り、URL短縮サービスまたは他の検索ツール/ APIを使用できます。 プログラムにWebブラウザーを開くなどの副作用があり、暗号化されたGoogle html / jsページがレンダリング時に読み取られる場合は問題ありません。 ブラウザのプラグイン、ユーザースクリプトを使用できます... stdoutを使用できない場合は、たとえばを使用して画面に印刷します。ポップアップまたはjavascriptアラート! 終了/または開始http(s)://は不要です 他のリンクは表示しないでください 最短コードが勝ちます! 幸運を ! 編集:このゴルフは07/08/15を終了します。

19
最短コナミコード
問題 実行時にコナミコードを入力すると、文字列「+30 lives」がれ、コンピューターのスピーカーから選択したノイズが聞こえるます。 定義 「コナミコード」は次のように定義されています UUDDLRLRBA、Enterキーを押すことでます。 ルール コードが矢印または文字と一致している限り、上矢印U、下矢印D、左矢印L、右矢印の使用を選択できますR。 入力はコントローラーまたはキーボードから受け入れられますが、両方をサポートする必要はありません。 既存の回答はのBABA代わりに引き続き使用できますがBA、必要に応じて短縮することもできます。BA一貫性のために、将来の回答はすべて使用する必要があります。 空の入力をサポートする必要はありません。

10
入力のタイプを決定する
課題は簡単です。入力のタイプを判別し、そのタイプを示す識別子を出力します。 "UI"、符号なし整数:0、1、34、111111111111111111111111111111111111111111 符号付き整数"SI"、: 、 、、+0 、+1+42-1-3、-111111111111111111111111111111111111111111 "UD"、符号なし10進:0.0、1.23、1234.1234 "SD"、符号付き10進数:-0.0、+0.0、-1.235 「LE」、レター:a- zおよびA-Z 「SY」、記号:ASCIIコードポイント:([32-47, 58-64, 91-96, 123-126]つまり、数字と文字を除くすべての文字) 「ST」、文字列:上記の数値形式のいずれとしても解析できない2つ以上の文字 ルール: 入力は1〜99文字です。 入力には、印刷可能なASCII文字、コードポイントのみが含まれます:32-126。 出力は、上記で定義した2つの識別子文字(UI、SI ...)である必要があります 標準I / Oルールが適用されます 例: UI: 0 01 34 12938219383278319086135768712319838871631827319218923 SI: -0 +01 +1 -123 +123 UD: 0.0 3.1415 2.718281828459045235360287471352662497757 SD: +0.0 -3.1415 +2.718281828459045235360287471352662497757 LE: a k L Z SY: @ …

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

3
時間の管理を手伝ってください
私は最近、新年までに物理教科書全体を読むように言われました(残念ながら実話)。毎日どの章を読むべきかを決めるのにあなたの助けが必要です。ここがあなたの出番です。 入力 任意の形式の2つの日付。2番目の日付は常に最初の日付より後です。 章番号のリスト。このコンマ区切りリストには、単一の章(12)または包括的範囲(1-3)を含めることができます。例 1-3,5,6,10-13。 Monday -> Moスケジュールから除外する曜日のリスト(名前の最初の2文字で表されます)。例 Mo,Tu,Fr。 出力 出力は、改行で区切られた日付と章番号のリストになります(以下の形式を参照)。支部は、指定された平日を除き、範囲内のすべての日に均等に分散する必要があります。チャプターが均等に分配されない場合は、期間の終わりにチャプターの量が少ない日があるようにします。出力の日付は、入力とは異なる形式にすることができます。チャプターがない日は省略できますが、単にチャプターがない場合もあります。 例: 入力: 9/17/2015 9/27/2015 1-15 Tu 出力: 9/17/2015: 1 2 9/18/2015: 3 4 9/19/2015: 5 6 9/20/2015: 7 8 9/21/2015: 9 10 9/23/2015: 11 9/24/2015: 12 9/25/2015: 13 9/26/2015: 14 9/27/2015: 15

4
レイジープログラマーのXMLパーサー
バックグラウンド あなたは自動車販売会社のプログラマーとして働いています。今週のタスクは、さまざまな自動車メーカーから入手可能なモデルに関するデータを取り込み、最新モデルに関する情報をきれいに印刷するXMLパーサーをプログラムすることです。幸いなことに、テスト部門が提供したテストケースは1つだけです!それを渡すコードをより速く書くことができるほど、その週の残りの時間を先延ばしにする時間が増えます。 入力 入力は、テスト部門から提供されたまさにこのXMLデータです。一部の自動車メーカー、その自動車のシリーズ、およびこれらのシリーズのモデルに関するデータが含まれています。末尾の改行を想定できます。 <?xml version="1.0" ?> <products> <manufacturer name="Test Manufacturer 1"> <series title="Supercar" code="S1"> <model> <name>Road Czar</name> <code>C</code> <year>2011</year> </model> <model> <name>Ubervehicle</name> <code>U</code> <year>2013</year> </model> <model> <name>Incredibulus</name> <code>I</code> <year>2015</year> </model> <model> <name>Model 1</name> <code>01</code> <year>2010</year> </model> </series> <series title="Test series 22" code="Test"> <model> <name>Test model asdafds</name> <code>TT</code> <year>2014</year> </model> …

14
2つの整数多項式の乗算
あなたの仕事は、多項式の整数と乗算それら彼らのunsimplified最初期-主要な左から右への展開(AKAへの2つの変数を取ることですFOIL二項の場合)。同様の用語を組み合わせたり、結果を並べ替えたりしないでください。展開をより明確にするには、最初の式の最初の用語に2番目の式の各用語を順番に乗算し、すべての用語に他のすべての用語が乗算されるまで最初の式を続けます。式は、単純化されたLaTeXバリアントで提供されます。 各式は、+(各側にちょうど1つのスペースがある)で区切られた一連の用語になります。各用語は、次の正規表現に準拠します。(PCRE表記) -?\d+x\^\d+ 平易な英語では、この用語は、オプションの先頭-に1つ以上の数字が続き、その後にx非負の整数の累乗が続く(で^) 完全な式の例: 6x^3 + 1337x^2 + -4x^1 + 2x^0 LaTeXに接続すると、6x3+1337x2+−4x1+2x06x3+1337x2+−4バツ1+2バツ06x^3 + 1337x^2 + -4x^1 + 2x^0 出力もこの形式に準拠する必要があります。 この形式ではブラケットが指数を囲んでいないため、LaTeXは実際に複数桁の指数を正しくレンダリングしません。(例えば4x^3 + -2x^14 + 54x^28 + -4x^5、4 x3+ − 2 x14 + 54 x28 + − 4 x54バツ3+−2バツ14+54バツ28+−4バツ54x^3 + -2x^14 + 54x^28 + -4x^5としてレンダリング)これを考慮する必要はなく、出力に括弧を含めるべきではありません。 テストケースの例 5x^4 3x^23 15x^27 6x^2 + …

5
実生活での活用
@アダムの Dyalog APLは拡張、⍢オペレータ手段(下)コンジュゲーションを:次につの機能は、第二の機能、最初の逆を適用します。共役の観点から実際のアクションを考えるのは楽しいです: 問題はgによって別のドメインに変換され、そこでfによってより簡単に解決された後、元のドメインに変換されます。実生活の例は「麻酔下」です。 apply anesthetics perform surgery wake up from anesthetics チャレンジ 行の逆gはに「un」が付加されg、その逆も同様です。s"under"として、その順序でその間の逆行を定義しますs。f入力の各行ごとに: もし f、両方の発生およびその逆の、何もしません f他のアクションの「下」にない場合、印刷f fがlineの「下」にある場合g、f + " under " + gwhere +is concatenationを出力します。 入力 スペースと小文字で構成される空でない複数行の文字列、または文字列のリストなど(代わりに大文字を使用できます)。正確に1行は「un」で始まります。他の行の逆になります。空の行はありません。 出力 入力と同じ形式、または標準I / Oで許可されている形式で出力します。 テストケース: Input: apply anesthetics perform surgery unapply anesthetics Output: perform surgery under apply anesthetics Input: unite asia establish …

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