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

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

3
圧縮して印象を与える
両方に触発挑戦「ユニークで安いです」によって@Laikoniスコアは挑戦そのものだけでなく、に基づいており、JavaScriptの(ES6)の回答の@ETHproductionsのための「回文圧縮」の挑戦彼はかなりクールを使用して、回文フラグ、大文字/小文字の表示、および文字の圧縮方法。 チャレンジ: 2つのプログラム/関数を作成します。圧縮プログラム/関数と解凍プログラム/関数です。 プログラム/関数の圧縮: 独自のソースコードで使用された文字(ソースコードの圧縮と解凍の両方)を可能な入力としてのみ与え、任意の種類のビット圧縮方法を使用して、この入力のビット圧縮の結果0のsと1sを出力します。 。 出力されるビット(0sおよび1s)の量は可能な限り短くする必要があり、この量が回答のスコアになります。 アイデアは、独自のソースコードで使用されるさまざまな種類の文字、プログラム/関数のサイズ、および使用したビット圧縮のタイプの間でバランスをとることです。または、このコメントで@RobertFraserを引用するには: これはエンジニアリングの基本の優れた例です。問題の説明を取り、それを解決するためのさまざまな方法について考え、要件間のトレードオフ(つまり、さまざまなスタイルに割り当てるビット数)を作成するなど チャレンジルール: 圧縮プログラムと解凍プログラム/関数は、同じプログラミング言語である必要があります。 入力はスコアになるため、圧縮と解凍の両方のプログラム/関数と、両方のプログラム/関数を組み合わせた(連結した)圧縮プログラムの出力の0sと1sの量を提供する必要があります。 圧縮は、明らかに、圧縮プログラムと解凍プログラム/関数の両方のソースコードで使用されているすべての文字に対して、任意の順序または量で機能する必要があります。(ソースコードにない文字については、未定義の動作をする可能性があります。) 入力タイプは必ずしも文字列である必要はありません。文字のリスト/配列/ストリームにすることもでき、プログラムの引数やSTDINなどにすることもできます。呼び出し。 同じことが出力にも当てはまります。関数から返すか、STDOUTに出力できます。単一の文字列、整数配列などにすることができます。 あなたの圧縮プログラムを出力しなければならない、少なくとも1 0か1(そう空のcat圧縮と解凍プログラムの両方のためのプログラムはできません)。 ソースコードには、0sと1sがすでに含まれているだけでなく、no-ops が含まれていない場合があります(デフォルトで独自のソースコードを出力するプログラミング言語では、圧縮プログラムと解凍プログラムの両方を単一0またはにでき1、no-ops部分は未使用のコメントでこの動作を防止するには、ソースコードとして0sと1s のみを使用する、申し訳ありませんがバイナリベースのプログラミング言語)。 プログラム/関数で使用される0以上の文字プールの入力をサポートする必要がありますが、空の入力をサポートする必要はありません。したがって、すべての入力が少なくとも1文字であると想定できます。 可能な入力は、圧縮サイズと解凍サイズの合計よりも大きくなる可能性があります。 何らかの理由で圧縮方法が順序に依存し、入力がのDecompressionProgramCompressionProgram代わりに出力が短い場合CompressionProgramDecompressionProgram、スコアのプログラム/関数のコンカッティングのいずれかの順序を選択できます。 例: 圧縮プログラムがABCであり、解凍プログラムがであるとしましょう123aBc。0個以上のcharacter-poolを含む入力の場合、123ABCabこれらの文字を0sおよび1s に正しく圧縮し、これら0のsおよび1sを正しい文字に解凍できる必要があります。これら2つのプログラムの有効な入力例は次のとおりABC123aBcです。A; 1Ca; 22222b1121221b; 等 一般的なルール: 回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーター、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストを含むリンクを追加してください。 また、必要に応じて説明を追加してください。 答えの例: Java 8、スコア1440ビット、180(87 + 93)バイト ここでは、Java 8の非常に悪い実装で、各文字は単に8ビットのバイナリ文字列として出力されます。 圧縮機能: として提供される入力java.util.stream.IntStream。 s->s.forEach(c->System.out.print("".format("%8s",Long.toString(c,2)).replace(' ','0'))) オンラインでお試しください。 減圧機能: として提供される入力String。 …

4
接頭辞のない回文
かかるプログラムや関数書きN、およびSをし、長さの回文数は出力Sあなたのサイズのアルファベットを使用して構築することができますがNの間のサイズの任意のプレフィックスような2とS-1は回文ではありません。 たとえば、Nが2でSが5の場合 有効な回文は次のようになります 01110 10001 したがって、答えは2になります これはコードゴルフであるため、回答はその長さに基づいてバイト単位でスコアリングされ、バイト数が少ないほど優れています。

6
多項式文字列への偏微分を簡略化して取得する
前書き 変数に関する多項式(多変量の場合もある)の偏微分を計算するプログラムを記述します。 チャレンジ デリバティブは、物理学、化学、生物学、経済学、心理学など、あらゆる種類の問題を処理するために広く適用されている非常に重要な数学的ツールです。複数の変数を持つ式も非常に一般的です。 この課題の範囲では、多項式文字列(「polystr」)は次のBNF(バッカスナウア形式)によって定義されます。 <polystr> ::= <term> | <term><plusminus><polystr> <plusminus> ::= "+" | "-" <term> ::= <coeff> | <coeff><baseterm> | <baseterm> <baseterm> ::= <variable> | <variable><exponent> | <baseterm><baseterm> <coeff> ::= positive_integer <exponent> ::= positive_integer <variable> ::= lowercase_ASCII_letters どこにpositive_integer、lowercase_ASCII_letters非常に自明です。 たとえば、文字列3x2y-x3y-x2y+5はを意味し3*(x^2)*y-(x^3)*y-(x^2)*y+5ます。入力で指定された用語は任意の順序で表示され、各用語の変数も任意の順序で表示されます。したがって、たとえば、これ5-yx2-x3y+y3x2も有効な入力であり、実際には前の例と同じです。 偏微分を取るためのルールは、期間ごとに行うことです。変数が出現し、用語に出現しない場合、導関数はゼロです。それ以外の場合は、項の係数にその変数の指数が乗算され、変数の指数が1つ減少します。他の変数の指数は変化しません。これはちょうど数学の定義に従っています。さらに、結果の指数がゼロの場合は、項から変数を削除します。 たとえば5z-z2y2-5w3y、に関するの偏微分を取得する場合y。次のプロセスが実行されます(上記で定義されたBNFに従って、「係数」はすべて正の数であると見なされます。つまり、符号は個別に考慮されます)。 5z - z2y2 - 5w3y Coeff 1->1*2=2 5->5*1=5 …

9
ストリングをシャッフルする-警官
強盗の投稿 リフルシャッフルは、デッキ2つのおおよそ等しいセクションに分割され、切片を小グループでお互いにriffledされているカードをシャッフルする方法です。これは文字列をシャッフルする方法です: 文字列を等しいセクションに分割します。 文字列を逆にし、各文字列の先頭から始めます。 1から現在の文字列に残っている文字数までのランダムな長さのランを最終的な文字列に入れます 次に、これらの文字を文字列から削除します。 残りの半分について、両方の半分が空になるまで繰り返します。 例 "Hello World!" Output string = "" "Hello ", "World!" "" "Hell", "World!" " o" "Hell", "World" " o!" "Hel", "World" " o!l" "Hel", "Wo" " o!ldlr" "H", "Wo" " o!ldlrle" "H", "" " o!ldlrleoW" "", "" " o!ldlrleoWH" からの最終製品はHello World!可能性がo!ldlrleoWHあり、それが出力されます。 警官 あなたの仕事は、文字列をシャッフルするプログラム(または関数)を作成することです。入力された文字列が奇数長である場合は、それを+1と+0(abc …

10
オプション文字列を並べ替える
バックグラウンド Cには、コマンドライン引数の解析に役立つ関数がありますgetopt。 Getoptは、引数カウント(argc)、引数リスト(argv)、およびプログラムがとるべきオプションを表す文字列(optstring)を取ります。 オプション文字列(optstring)は、1つのコロン(引数が必要なオプションの場合)、2つのコロン(オプションの引数のあるオプションの場合)、または0のコロン(引数のないオプションの場合)が後に続く一連のオプション文字です。 例:会社の新しいウィジェットに次のオプション文字列を使用できます。 "v::x:hy:S:G::dns:f::" しかし、それは恐ろしく見えます!オプションはすべて混在しています!このオプション文字列は、並べ替えた方がはるかによく見えます。 "f::G::v::S:s:x:y:dhn" 仕様書 入力は正規表現に一致する文字列になります ([A-Za-z]:{0,2})+ 入力は文字列または文字のリストとして受け取る必要があります。 以下に詳述する方法でソートされた文字列を出力する必要があります。 空の入力を処理する必要はありません。 同じタイプのオプションを繰り返し使用して入力を処理する必要はありません("aa"は無効ですが、"aa:a::"有効です)。 ソート方法 ソートされたオプション文字列で: 2つのコロンが後に続く文字が最初に来て、アルファベット順にソートされ、それぞれの小文字の前に大文字が続きます(つまり、「Bab」ではなく「aBb」)。 次に、1つのコロンが付いた文字がアルファベット順にソートされ、それぞれの小文字の前に大文字が続きます。 最後は、コロンのない文字で、アルファベット順にソートされ、それぞれの小文字の前に大文字が続きます。 ルール 標準の抜け穴は禁止されています。 得点 これはcode-golfなので、各言語でのバイト単位の最短の回答が優先されます。 例 # "input" => "output" "v::x:hy:S:G::dns:f::" => "f::G::v::S:s:x:y:dhn" "aa:a::" => "a::a:a" "B:" => "B:" "Confusio:n::" => "n::o:Cfinosu" "Confusio:n:" => "n:o:Cfinosu" "m:qW:X:xc:vViI" => "c:m:W:X:IiqVvx" "V:omo:V" => "o:V:moV" …

7
単語の平均を見つける
このチャットメッセージに触発されました あなたの仕事は、単語を取り、キーボード上のその文字の平均的な位置を文字として見つけることです。 キーボード・レイアウト レイアウトはキーボードごとに異なるため、この質問では自分のキーボードに基づく標準を使用します。 キーボードには3つの行があり、一番上の行には左から右にキーが含まれています QWERTYUIOP 2行目には文字が含まれています ASDFGHJKL 最後の行には ZXCVBNM 各文字は、隣から左に1単位水平です。この手段Wから離れて1であるQとE離れてから1であるWというように。 各行の先頭のキーには、次の位置があります。 Q : 0,0 A : 1/3,1 Z : 2/3,2 これは、行が垂直方向に1単位分離され、下の2行がその上の行から3分の1シフトされていることを意味します。 入力として単語を取り、その単語内の文字の平均位置に最も近い文字を出力する必要があります。ベクトルのセットの平均は (average x value, average y value) 2つのキーが平均から等距離にある場合、「最も近い」キーとして出力できます。 これは コードゴルフ そのため、回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 ソリューションの例 の平均を計算してみましょうAPL。 各文字をベクトルに変換します A -> (1/3,1) P -> (9,0) L -> (8 1/3,1) これらを3つのベクトルに加算して取得し(17 2/3, 2)ます。次に、各座標を3(単語の文字数)で割り、を取得し(5 8/9, …

7
Wordグリッドの生成
指定された入力を使用してn、n可能な限り数バイトのサイズの単語グリッドを生成します。 細部 提供される数は常に奇数です。グリッドの中央の正方形は常に空でなければなりません(スペース文字)。グリッドを埋める文字は、英語のScrabble文字分布からランダムに選択する必要があります。つまり、各タイルは、次の100文字からランダムに、一定の確率で選択する必要があります。 ??EEEEEEEEEEEEAAAAAAAAAIIIIIIIIIOOOOOOOONNNNNNRRRRRRTTTTTTLLLLSSSSUUUUDDDDGGGBBCCMMPPFFHHVVWWYYKJXQZ どこ?空白のタイルを示しています。 スクラブルボードと同様に、このボードの一部のタイルは、より高いスコアのボーナスタイルにもなります。これらのタイルは、サイズが9以上のボードでのみ表示されます。中央の正方形から3行ごとに外側に向かって広がるパターンで表示されますが、最も外側の文字には表示されません。ボーナススクエアは小文字で示され、空白のタイルはの!代わりにとして識別されます?。ボーナスタイルを正しく分配する方法の例については、この視覚的なデモまたはリファレンス実装を参照してください。 例 入力: 5 出力: VNZNT IFOSN UD VD ZIOO? KTLED 入力: 9 出力: UWDESTKPW ItDBaDEdI TERMDYSTR ROANJLEFT EkCI OOsT IPAJPGM?Y MZLORETVI G!EGgPUeI MNROYOEER リファレンス実装。 ルール これはコードゴルフなので、バイト単位の最短コードが優先されます。 整合性があると想定して、I / Oには適切な形式を使用できます。 少なくとも999までのグリッドを処理できる必要があります。 すべての標準の抜け穴は禁止されています。

4
文字列をWicka-wub
これに触発されました。 大文字と小文字のアルファベット文字のみで構成される入力として文字列が与えられた場合、それをwicka-wubします。 文字列をウィッカウブする方法は? 使用されるテキスト例は「DJMcMayhem」です。 各大文字の前で文字列を分割すると、が得られ["D", "J", "Mc", "Mayhem"]ます。 次に、リストの2つの半分をサブリストとして扱います。これは私たちに与え[["D", "J"],["Mc", "Mayhem"]]ます。リストの長さが奇数(つまり3)の場合、最初のサブリストには中央の部分文字列(つまり[[a,b], [c]])が含まれます。 wickaとwubのリストを作成します。wickas の数は、入力リストの最初の部分(つまり["D", "J"] -> ["wicka", "wicka"])wubsの長さと同じでなければなりません。また、の数は、入力リストの2番目の部分の長さと同じでなければなりません。私たちの場合、これはを与え["wicka", "wicka", "wub", "wub"]ます。 ここで、入力リストのサブリストを単一の文字列に結合し、フラット化します。 現在とが["DJ", "McMayhem"]あり["wicka", "wicka", "wub", "wub"]ます。 参加wicka/ wubでリスト-秒:wicka-wicka-wub-wub。先頭に-。入力に複数の大文字がある場合は、もう1つを追加します-。 今、とが ["DJ", "McMayhem"]あり"-wicka-wicka-wub-wub-"ます。 追加wicka-wub取得するには、入力リストの最初の項目の末尾に文字列を["DJ-wicka-wicka-wub-wub-","McMayhem"]。 最後に、文字列の2番目の部分の文字を、元の入力文字列の0インデックス値で繰り返します。私たちの例では、それは最初のものMが2回繰り返され、次にc3回、そして次のM4回繰り返されることを意味します。リストに参加すると、2番目の部分(文字を繰り返し入力した部分)が最初の部分("DJ-wicka-wicka-wub-wub-")に追加されます。 入力の最終結果: "DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm" 総プロセス: ["D", "J", "Mc", "Mayhem"] => [["D", "J"], ["Mc", "Mayhem"]] => ["DJ", "McMayhem"] and …

3
秘密のメッセージパート1、要素
あなたとあなたの友達はお互いに秘密のメッセージを送りたいと思っています。しかし、あなたは陰謀論者であり、政府が標準の暗号化を解読できる量子コンピューターを持っていると思うので。したがって、あなた自身の1つを発明しています。この最初のステップは次のとおりです。入力文字列を取得して、すべての文字が周期表の要素の記号で表せるかどうかを確認します(大文字と小文字は区別されません)。可能であれば、各セクションをシンボルが表す要素の名前に置き換えます。この方法ですべての文字を置き換えることができない場合は、元の文字列を使用するだけです。 あなたのタスク: 前述のように、メッセージをエンコードするプログラムまたは関数を記述します。プログラムが外部ソースからデータをフェッチする場合、外部ソースのサイズをバイトカウント(この抜け穴)に追加する必要があることに注意してください。使用される要素と記号は次のとおりです。 H Hydrogen He Helium Li Lithium Be Beryllium B Boron C Carbon N Nitrogen O Oxygen F Fluorine Ne Neon Na Sodium Mg Magnesium Al Aluminum Si Silicon P Phosphorus S Sulfur Cl Chlorine Ar Argon K Potassium Ca Calcium Sc Scandium Ti Titanium V Vanadium Cr …

1
地面の宝石を数える
宝石を数える バックグラウンド 宝石箱が落ちた!地面にさまざまな形の宝石が多すぎます。そして、あなたの仕事は、特定の種類の宝石の数を数えることです。 I / O コードは2つの入力Sとを受け取る必要がありますG。これは、改行を含む文字列、行の配列、文字の2次元配列、テキストファイル、または適切な形式の場合があります(そうであれば、明記してください)。 これらの2つの文字列には、!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(ASCIIテーブルの0x21to から0x7E)、スペース、および改行(プラットフォームに応じてバイナリ形式)のみが含まれます。 各文字列では、行は同じ長さです。 S数えたい宝石です。2つの状況があります。 囲まれ、ネストされた囲まれた領域を含みません。(例では1/2) 囲まれた領域は含まれません。(例3/4) 周囲の空間は宝石の一部とは見なされません。 G 地面にある宝石の形です。 それはあなたのコードがの寸法(複数可)を指定するために余分な入力を必要とすることが可能ですSし、G コードが文字自体ではなく、ASCII値を入力として受け取ることは許容されます。ただし、文字をより単純な整数(0、1、2、3)に置き換えないでください。プログラムは、文字またはASCII値を処理できる必要があります。 例1(入力としての文字) 入力S: +-+ | +-+ | | | | | | | +-+ +-+ 入力G: +-+ +-+ | +-+ +-+ | | | | | | | | | | | | …

7
;#リセットなし
;#非常に単純な言語です。2つのコマンドがあります。 ; アキュムレータをインクリメントします # 127を法とするアキュムレータを出力し、アキュムレータをリセットします ;$また、非常に単純で非常に似ています(また、まだ存在しません)。2つのコマンドがあります。 ; アキュムレータをインクリメントします $ は、127を法とするアキュムレータを出力します。ただし、アキュムレータをリセットしません。 チャレンジ ;#コードを;$コードに変換するプログラムを作成します。つまり、a標準的な方法を使用して入力が与えられた場合、彼はと同じものを出力するbような最短の出力を出力します。入力には文字とのみが含まれます。入力には末尾のセミコロンはありません。つまり、正規表現に一致します。これは、入力が空白にならないことも意味します。可能であることに注意してください(と同等)。a;#b;$';''#'(;*#)+;;;;##ord(4) ord(0) 例 ;# code -> ;$ code ;;;;;;;;;;#;;;;;;;;;;;;# -> ;;;;;;;;;;$;;$ ;;;;;;;;;;;;;;#;;;# -> ;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# -> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;$$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ (Hello, World!)

3
ビーコンを構築する
ビデオゲームMinecraftでは、ビーコンを取得してピラミッドのような構造物に配置し、速度やジャンプブーストなどの特殊効果を与えることができます。 あなたの仕事は、効果を考慮して、それに必要なビーコンピラミッドを構築することです。 さまざまな効果に必要なビーコンピラミッドには複数のサイズがあります。最大のものはサイズ9ベースがあり、最小のものはサイズ3ベースがあります。 これらはあなたが得ることができる効果とそれらに必要なピラミッドです(公式のMinecraft wikiで指定されています: 3: Speed I Haste I 5: Resistance I Jump Boost I 7: Strength I 9: Regeneration I Resistance II Jump Boost II Speed II Haste II Strength II ビーコンは下部をベースにして構築され、その後ベースが上がり、サイズが2減少します。1に到達する+と、上部にビーコンがあるはずです。 ビーコンはとして定義され+ますが、機能するにはサポートピラミッドが必要です。 入力は有効である(つまり、ここで指定された効果の1つである)と想定でき、オプションで、入力はすべて小文字であると想定できます。#文字はピラミッドに使用すべきであり、+ビーコンとして。 例: Haste I + ### Resistance I + ### ##### Strength I + ### …

11
言葉への手紙の流れ
文字のみを含む文字列(大文字と小文字を区別しない)が与えられた場合、以下の分布を使用して、ランダムな長さの単語に分割します。ただし、有効な長さ(1〜10)の最後の単語は例外です。出力は、スペースで区切られた文字列("test te tests")、文字列の配列(["test","te","tests"])、またはその他の同様の出力形式として、これらの単語です。 語長分布 Word Length - Fractional Chance / 72 - Rounded Percentage 1 - 2 / 72 - 2.78% 2 - 14 / 72 - 19.44% 3 - 16 / 72 - 22.22% 4 - 12 / 72 - 16.67% 5 - 8 / 72 - 11.11% 6 …

10
二乗オフ(可能な限り最小の四角に合わせる)
はじめに これはパディングを必要とし、入力のデータタイプが不明であるため、Aのテキストよりも複雑です。 Dyalog Ltd.は毎年学生コンテストを開催しています。そこでの課題は、優れた APLコードを作成することです。これは、今年の10番目の問題の言語に依存しないコードゴルフ版です。 コンテストの元の作成者から、ここにこのチャレンジを投稿する明示的な許可があります。提供されたリンクをたどり、作者に連絡して確認してください。 問題 与えられた文字列または数値リストを、入力のすべての要素を含む最小の正方形に再形成するプログラム/関数を記述し、必要に応じて追加の要素でパディングします。pad要素は、特定のデータ型のデフォルトのfill要素、または任意の1つの要素にする必要があります。正方形の要素は、それを平坦化すると入力データの元の順序が与えられるような順序でなければなりません(後続のパディング要素がある場合は、それも含みます)。 テストケース [1,2,3,4] → [[1,2], [3,4]] [1,2,3,4,5] → [[1,2,3], [4,5,0], [0,0,0]] "Dyalog APL" → [["Dyal"], [["D","y","a","l"], ["og A"], or ["o","g"," ","A"], ["PL "], ["P","L"," "," "], [" "]] [" "," "," "," "]] [100] → [[100]] [] → あなたの言語が空の行列に最も近いもの、例えば[]または[[]]

13
線形方程式の係数を抽出する
線形方程式を考えるとmx+n、返すnとm。ただし、方程式は次のいずれかの形式になります。 5x+2 -> 5 2 5x-2 -> 5 -2 5x -> 5 0 -2 -> 0 -2 x -> 1 0 ここにフォーマットがあります、それぞれ?が先行ゼロなしで書かれた正の整数を表します ?x+? ?x-? -?x+? -?x-? x+? x-? ? -? ?x -?x x これらのケースはすべて処理する必要があります。 仕様: 方程式は上記の形式のいずれかであると想定できます。つまり、正規表現と一致し^(-?[123456789]\d*)?x([+-][123456789]\d*)?|-?[123456789]\d*$ます。 テストケース: -2x+3 -> -2 3 44x -> 44 0 -123 -> 0 -123 x …

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