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

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

30
キャラクターをランダムに選択する、plinkoスタイル
選択したランダム性における選択言語がどれほど優れているかを見てみましょう。 与えられた4つの文字、A、B、C、およびD、または4文字の文字列ABCD を入力として、次の確率を持つ文字の出力1: A 1/8(12.5%)の確率で選択される必要があります B 3/8(37.5%)の確率で選択される必要があります C 2/8(25%)の確率で選択される必要があります D 2/8(25%)の確率で選択される必要があります これは、次のPlinkoマシンレイアウトとインラインです。 ^ ^ ^ ^ ^ ^ A B \ / ^ C D あなたの答えは、記述された確率を尊重する真の試みをしなければなりません。回答で確率がどのように計算されるのか(および、それらが仕様を尊重し、疑似乱数性と大きな数の問題を無視する理由)の適切な説明で十分です。 得点 これはコードゴルフなので、各言語で最少のバイトが勝ちます!

18
単数形を複数形に変換する
名詞には、単数形と複数形の2つの形式があります。これら2つの間の変換は非常に簡単です。 通常、あなたはそれで終わりますs。例 car=> cars。 それはで終わる場合s、x、z、chまたはsh、でそれを終わらせますes。例 bus=> buses。 y直前の子音で終わる場合、をに変更yしiesます。例 penny=> pennies。 fまたはで終わる場合はfe、に変更しvesます。例 knife=> knives。 o直前の子音で終わる場合は、に変更しoesます。例 potato=> potatoes。 仕事 単数形の名詞が与えられます。指定された名詞を複数形に変換して出力する必要があります。 ルール mouseやなどの不規則な名詞は与えられませんmoose。 safe(safes;違反#4)、piano(pianos;違反#5)およびo(oes、違反#5)などの例外は与えられません。 mosquito(mosquitosまたはmosquitoes)やroof(roofsまたはrooves)など、2つ以上の複数形の可能性がある単語は与えられません。 数えられない名詞は与えられません。 y 母音としてカウントされません。 例 car => cars bus => buses potato => potatoes knife => knives penny => pennies exception => exceptions wolf => wolves eye => eyes …

11
絵文字を焼いて
有効なUTF-8および有効なWindows-1252(ほとんどの言語は、おそらく通常のUTF-8文字列を取ることになるでしょう)の両方で、文字列、文字リスト、バイトストリーム、シーケンス...を考えると、それを変換、である(からふり、それをあります)Windows-1252からUTF-8。 ウォークスルーの例 UTF-8文字列 I ♥ U T F - 8 は、Windows-1252テーブルの 49 20 E2 99 A5 20 55 54 46 2D 38 これらのバイト値が、Unicodeに相当するバイトとして表され ます。 49 20 E2 2122 A5 20 55 54 46 2D 38 I â ™ ¥ U T F - 8 例 £ → £ £ → …

30
常に同じ長さの出力
以下のような課題にコードと同じ長さの出力と二回のコードの長さを出力を作成し、私は別のが、同様の課題を考えました。 タスクは出力を生成することです。文字列、文字のリスト、またはプログラムのデフォルトの出力形式を使用できます。ただし、入力に関係なく、出力は常に同じ長さでなければなりません。さらに重要なことに、出力は入力ごとに異なる必要があります。 入力 単一の整数nnnの範囲は、言語の選択によって決まります。お使いの言語が可変長整数を持っている場合、範囲は−231≤n&lt;231−231≤n&lt;231-2^{31} \leq n < 2^{31}。 出力 文字列または文字のリスト、またはSTDOUTまたはSTDERRへの印刷。これらの方法のいずれかのみを使用できます。出力は、入力に関係なく同じ長さである必要がありますが、どの長さを定義するかはユーザー次第です。出力には、数字0-9またはマイナス記号が含まれていない場合があります-。出力は決定的でなければなりません。 正式な証明、引数、または総当たり検索によって、すべての出力に対して可能な入力が1つしかないことを証明できるはずです。 これはコードゴルフの質問であるため、余分なバイトを取り除きます。すべての言語が歓迎されます、より良い!

24
バージョン番号を比較する
ソフトウェアを公開するとき、バージョン番号を割り当てます。また、ユーザーは一部のソフトウェアの最新バージョンに更新したい場合があります。それで、どのバージョンをより新しくすべきかを判断する時が来ました。 入力 2つのバージョン番号を文字列として入力します。 この課題の文脈では、ドットで結合されたいくつかの数字であるバージョン番号のみをサポートします。 バージョン番号は、数字(0〜9)とドット(.)のみを含む文字列です。 ドットは、バージョン番号の最初/最後の文字ではありません。 ドット間には数字が必要です。2つのドットが連続して表示されることはありません。 バージョン番号の数値はすべて2 16未満です。 出力 入力されたバージョン番号を比較し、最初のバージョン番号が2番目のバージョン番号よりも大きい/等しい/小さいかどうかを出力します。次のプレゼンテーションのいずれかを選択できます。 正の数/ゼロ/負の数を使用します。ゼロは等しいことを意味します。 3つの定数の異なる値を使用します。 比較する このセクションで説明されているアルゴリズムを実装する必要はありません。このアルゴリズムで同じ出力が得られる限り、提出は有効です。 バージョン番号は、ドットで結合されたいくつかの10進数です。まず、2つのバージョン番号を番号の配列に分割しました。 配列の末尾にゼロを追加して、同じ長さにします。 最初の項目から最後の項目までを比較します。 2つの配列項目が異なる場合、数字が大きいほどバージョン番号が大きくなります それらが同じ場合、次の項目の比較を続けます。 配列内のすべてのアイテムが等しい場合、2つのバージョンは等しくなります。 テストケース version1 version2 result 2 1 &gt; 1.0.0 1 = 1.0 1.0.0 = 1.2.42 1.2.41 &gt; 1.1.56789 1.2.0 &lt; 1.10 1.2 &gt; 1.20 1.150 &lt; 18.04 18.4 = 7.010 …

12
圧縮されたBrain-Flakを展開する
このチャレンジは、2018年4月のLotMチャレンジの一部として、およびBrain-flakの2回目の誕生日に投稿されました Brain-Flakプログラムをエンコードする最も効率的な方法は何かを考えていました。有効な文字は8つしかないため、行うべき明らかなことは、各文字を3ビットシーケンスにマップすることです。これは確かに非常に効果的ですが、それでも非常に冗長です。Brain-flakコードには、エンコードを短縮するために利用できる機能がいくつかあります。 ニラッドはすべて2つの一致するブラケットで表され、実際には2ではなく単一の情報単位として機能します。各ブラケットを1バイト文字に置き換えると、データを失うことなくエンコードがはるかに小さくなります。 これはそれほど明白ではありませんが、モナドの終了バイトも冗長です。'?'次のスニペットで文字が何を表すか推測できると思いますか? {(({}?&lt;&gt;?&lt;&gt;? 入力が有効なbrain-flakコードであると仮定した場合、それらの疑問符ごとに1つのオプションしかありません。これは、閉じるモナド文字を明確に使用して、すべての閉じ括弧を表すことができることを意味します。これには、文字セットを小さく保つという追加の利点があります。これは、ハフマンエンコーディングを使用する場合に非常に役立ちます。以来近いモナドの文字が最も可能性の高いワイドマージンによって最も一般的な文字になります、非常効率的である、単一ビットで表現することができます。 これらの2つのトリックにより、次のアルゴリズムを介してbrain-flakコードを圧縮できます。 モナドのすべての閉じ括弧をに置き換え|ます。または、言い換えると、開始一致の前にないすべての閉じ括弧をバーに置き換えます。そう... (({})&lt;(()()())&gt;{}) になるだろう (({}|&lt;(()()()||{}| すべてのニラッドを閉じブラケットで置き換えます。したがって、何も含まれていない一致した括弧は、次のマッピングを使用します。 () --&gt; ) {} --&gt; } [] --&gt; ] &lt;&gt; --&gt; &gt; これで最後の例は次のようになります。 ((}|&lt;()))||}| 末尾の|文字を削除します。バーの総数は({[&lt;文字の総数と等しくなければならないことがわかっているため、最後にバーがない場合は推測できます。次のような例: ({({})({}[()])}) になるだろう ({(}|(}[) 今日の課題は、このプロセスを逆にすることです。 文字のみを含む圧縮されたbrain-flakの文字列が与えられた(){}[]&lt;&gt;|場合、元のbrain-flakコードに展開します。入力は常に有効なブレインフラックに拡張されると想定できます。これは、入力のプレフィックスに文字を|超える({[&lt;文字が含まれないことを意味します。 入力には末尾の|文字は含まれません。これらはコンテキストから推測する必要があります。 通常どおり、完全なプログラムまたは関数のいずれかを送信でき、入出力形式は許容されます。また、これはcode-golfであるため、ソースコードの長さ(バイト単位)によってコードがスコアリングされます。スコアが小さいほど優れています。 テストケース ここにいくつかのテストケースがあります。さらに必要な場合は、このpythonスクリプトとBrain-Flak Wikiを使用して独自のテストケースを生成できます。これは、これらのテストケースの大部分が由来する場所です。 #Compressed code #Original code ()))) (()()()()) ([([}()||||(&gt;||{(})|&gt;|}{((&lt;}|||&gt;}|}&gt;} ([([{}(())])](&lt;&gt;)){({}())&lt;&gt;}{}{((&lt;{}&gt;))&lt;&gt;{}}{}&lt;&gt;{} ({(}|(}[)|||} ({({})({}[()])}{}) (((()))||(](((}}||(}([(((}))||||(]((}}|}|}}|||]||]|[))||(}))|}(}|(}]]|} ((((()()()))([]((({}{}))({}([((({}()())))]([](({}{}){}){}{})))[]))[])[()()])({}()()){}({})({}[][]){}

19
単純な文字列の反射
文字列内の文字のリフレクションを定義することから始めましょう: のようにスペースのない明確な小文字のアルファベットの文字列が与えられた場合、文字列abcdefg内の文字の反射をc(他の文字の順序を変更せずに)文字列内の新しい場所に移動するように定義しますその右側は、左側の文字数です。 したがって、文字の反映はcにabcdefgなりますabdecfg。説明:の右側にc4つの文字があり、現在、の左側に4つの文字がありcます。 さらにいくつかの例: 文字eを反映すると文字myfriend列が形成されますmyefrind 文字aを反映axyzすると、文字列が形成されますxyza。 文字bを反映abcすると、文字列が形成されますabc。 文字dを反映dすると、文字列が形成されますd。 文字eを反映efすると、文字列が形成されますfe。 詳細については、またはいくつかのテストケースを試してみることを、ここに私はC ++で書いた(やや長い)プログラムです。 チャレンジ 明確に小文字の文字列が与えられた場合、各文字をアルファベット順に調べて、文字列に「反映」します。 明確化:文字列の文字はfromでa-z、スペースはなく、文字は一意であり、文字列は少なくとも1文字、最大26文字です。 例 入力:dcba。出力:dcba。 理由:最初aに、文字列内の文字がアルファベットの中で最初に来るように反映します。取得しadcbます。次に、bアルファベットの次の文字を反映して、を取得しbadcます。その後、反映c取得するにはcbad、次にd取得しますdcba。 入力:myface。出力:fyecma。 ヒント:文字を順番に確認しa, c, e, f, m, yます。 入力:a。出力:a。 入力:acb。出力:bac。 入力:cwmfjordbankglyphsvextquiz。出力:ieabhqzugdltkfnvpjxsormycw。 得点 入力と出力は、任意の便利な方法で指定できます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 投稿後約100時間を受け入れます。 現在の勝者 コードスニペットを表示 &lt;style&gt;body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list …
26 code-golf  string 

14
分岐したテキスト
ASCII文字列(大文字または小文字、あるいはその両方)を指定すると、各文字で分岐する文字列を表示するために必要な生のMathJaxを上付き文字と下付き文字に出力します。たとえば、入力catとhorse出力は、MathJaxがそれぞれ次のようにレンダリングする出力になります。 必要な入力は1つだけであることに注意してください。これら2つは、単に垂直方向のスペースを節約するために並べてリストされています。 マークアップの意味 _ 添え字を示します。 ^ 上付き文字を示します。 すべてが同じレベルにならないようにするために、上付き文字または下付き文字をさらに含む上付き文字または下付き文字列を囲む中かっこが必要です。 テストケース テストケースの形式はですinput : output。最初のテストケースでは、入力として空の文字列が表示され、出力として空の文字列が生成されます。 "" : "" "a" : "a" "me" : "m_e^e" "cat" : "c_{a_t^t}^{a_t^t}" "frog" : "f_{r_{o_g^g}^{o_g^g}}^{r_{o_g^g}^{o_g^g}}" "horse" : "h_{o_{r_{s_e^e}^{s_e^e}}^{r_{s_e^e}^{s_e^e}}}^{o_{r_{s_e^e}^{s_e^e}}^{r_{s_e^e}^{s_e^e}}}" "bifurcate" : "b_{i_{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}^{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}}^{i_{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}^{f_{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}^{u_{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}^{r_{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}^{c_{a_{t_e^e}^{t_e^e}}^{a_{t_e^e}^{t_e^e}}}}}}}" 出力をmathurl.comに貼り付けると、これらがどのようにレンダリングされるかを確認できます。 冗長な括弧なし MathJaxは、冗長なブレースを含むマークアップを喜んでレンダリングします。レンダリングされたときたとえば、以下はすべて同じになりますa、{a}、{}{a}、{{{{a}}}}。 ただし、このチャレンジの有効な出力には冗長な括弧はありません。特に、出力の単一文字は中括弧で囲まれていないことに注意してください。 注文 下付き文字と上付き文字の順序は重要ではありません。以下は同等であり、レンダリング時に区別できません(すべて等しく有効な出力です)。 c_{a_t^t}^{a_t^t} c_{a^t_t}^{a_t^t} c_{a_t^t}^{a^t_t} c_{a^t_t}^{a^t_t} c^{a_t^t}_{a_t^t} c^{a^t_t}_{a_t^t} c^{a_t^t}_{a^t_t} c^{a^t_t}_{a^t_t} 得点 言語ごとに、勝者はバイト単位の最短コードです。 通知が多すぎますか?添え字&lt;/sub&gt;を解除するタイプ
26 code-golf  string 

24
それは秩序だった言葉ですか?
(Puzzlingに関するこの投稿に触発されました。注意:そのパズルのネタバレは下にあります。) 標準の電話キーパッドは、次のように文字と数字を関連付けます。 1 -&gt; 2 -&gt; ABC 3 -&gt; DEF 4 -&gt; GHI 5 -&gt; JKL 6 -&gt; MNO 7 -&gt; PQRS 8 -&gt; TUV 9 -&gt; WXYZ 0 -&gt; 上記を使用してキーパッドプレスに変換したときに、結果の数値が非減少または非増加である場合、特定の入力単語は順序付き単語として定義されます。言い換えれば、結果の数は増加も減少もできません。 たとえば、単語はにCAT変換され228ます。これは減少しないため、順序付けされた単語です。ただし、単語DOGは364であり、これは増加と減少の両方であるため、順序付けされた単語ではありません。 チャレンジ 単語が与えられたら、それが順序付けられているかどうかを出力します。 入力 ASCIIアルファベット([A-Z]または[a-z])文字のみで構成される適切な形式の単語(必ずしも辞書の単語である必要はありません)。 入力がすべて大文字またはすべて小文字の場合の選択ですが、一貫性が必要です。 単語の長さは少なくとも3文字になります。 出力 入力語が順序付けられている(真実)か、順序付けされていない(偽)かについての一貫した真実/偽の値。 ルール 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください! 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 例 ここにいくつかの順序付けされた単語(つまり、真実)があり、リンクされたパズルパズルにはもっとあります。 CAT TAC AAA …

15
スペインのナンバープレートゲーム
この質問はに基づいて、私は尋ねた質問ではスペイン語。はい、スペイン語のアルゴリズムを要求しました。:) スペインでは、現在のナンバープレートには次のパターンがあります。 1234 XYZ ここで、XYZはスペイン語の子音の完全なセットから取られた3つの子音です(「Ñ」を除く)。 時々、妻と旅行するとき、私たちはゲームをするのに使います。ナンバープレートが表示されたら、3つの子音を取得し、これら3つの子音を含む単語を作成して、ナンバープレートと同じ順序で表示します。例(スペイン語): BCD BoCaDo (valid) CaBezaDa (not valid) FTL FaTaL (valid) FLeTar (not valid) FTR FleTaR (valid, wins) caFeTeRa (valid, loses) 最後の例でわかるように、勝者は最も少ない文字数を使用した人です。 チャレンジ 単語のリストと3つの子音のセットを受け取り、3つの子音を同じ順序で含むリスト内の最短の単語を見つける最短のプログラムまたは関数を作成します。このゲームでは、大文字と小文字は区別されません。 単語リストの入力(最初のパラメーター)は、言語stringタイプの配列になります。2番目のパラメーター(3つの子音)はanotherになりstringます。ご使用の言語に適している場合stringは、3つの子音でパラメーターのリスト全体の最後の項目を検討してください。出力は別のものになりstringます。 単語リスト内の単語は、発明された単語や無限の単語ではなく、標準の辞書にある単語になります。制限が必要な場合は、単語リストに50文字を超える単語がないと仮定します。 有効な答えになる可能性のある同じ長さの単語が複数ある場合は、それらのいずれかを返すことができます。必ず1つの単語を返すか、3つの子音のパターンに一致する単語がない場合は空の文字列を返すようにしてください。 グループ内で子音を繰り返すことができるため、3つの子音の有効な入力は両方FLRとGGGです。 スペイン語の子音は英語とまったく同じですが、「Ñ」が追加されています。母音は、強調された母音の追加と同じです: "áéíóúüü"。「-」や「 '」など、他の種類のマークはありません。 単語リストと3つの子音の両方で大文字と小文字が常に同じであると仮定できます。 スペイン語の単語の実際のコレクションを使用してアルゴリズムをテストする場合は、100万を超える単語を含むファイル(15.9 MB)をDropboxからダウンロードできます。 テストケース Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'} Output: 'repasar' …

18
配列を短縮する
ゴール: 文字列の配列を指定して、各文字列の短縮バージョンを作成します。 仕様: このチャレンジでは、略語は文字列の最初のN文字です。文字列の場合abc:a、ab、およびabcすべての有効な略語があり、一方でbc、とacはありません。 文字列の配列が与えられた場合、入力と略語が与えられた場合に、略語が参照している入力の項目を判別できるように、略語の最短セットを見つけたいと思います。 例: 入力: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] 最初の文字列から文字列を処理します。 月曜日はの文字列のみMであるため、可能な限り短い省略形はMです。 火曜日はで始まりますがT、木曜日もそうです。これは、文字列を試すことを意味しますTU。それで始まる文字列は他にないため、を使用しますTU。 水曜日はW、木曜日はTh、金曜日はFです。 その他の例: Input: "one,two,three,four,five,six,seven" Output: "o,tw,th,fo,fi,si,se" Input: "red,orange,yellow,green,blue,purple" Output: "r,o,y,g,b,p" Input: "a,ab,abc" Output: Not valid! No abbreviation for `a` that doesn't apply to the other items. ノート: 合理的な方法で入力と出力を行います。 入力は常に文字列の有効な配列であると想定できます。 最後のテストケースとは異なり、常に解決策があると想定できます。 文字列は、印刷可能なASCII(またはエンコード内の印刷可能な文字)のみで構成されます これはコードゴルフであるため、最少バイトが勝ちます!
26 code-golf  string 

8
中かっこを右中かっこに変換(悲しい中かっこ)
右中括弧は、中括弧とセミコロンがすべてaaファイルの右側の単一ポイントに揃えられるコードブラケットのスタイルです。 一般的に、これはいくつかの理由で悪い習慣と考えられています。 チャレンジ 任意の方法で複数行の文字列を取得し、そのブレーススタイルを右手ブレースに変換します。 この課題では、Javaコードでのみ動作する必要がありますが、理論的にはブレースとセミコロンを使用するコードで動作するはずです。 すべての{};文字を連続して取得する必要がありますが、それらの間に空白を入れてください。例えば。}}、; } }\n\t\t}、および空白を使用してファイルの右側にそれらを並べます。 例えば: a { b; {c になるはずです a { b ;{ c または、より抽象的に、すべての左から任意のすべての空白をプッシュします {};右へ、。 それ以外の場合は、行のインデントを保持する必要があります。移動後の空白のみを含む行{};オプションで削除できます。 例えば: a{ b{ c; } } d; どちらかになります a { b { c;}} d ; または a { b { c;}} d ; 右に押すと、すべての {};文字が最も長い行よりも短くない位置に揃えられます。それ以降のスペースは許容されます。 したがって、以下はすべて受け入れられます。 a { …

6
ゲームボーイでの効率的な入力
多くの古いGame Boyゲームでは、ユーザーからの文字列入力が必要になることがよくありました。しかし、キーボードはありませんでした。これは、次のような「キーボード画面」をユーザーに提示することで処理されました。 「文字ポインタ」は、ユーザが各所望の文字に移動なる文字Aで始まるであろうD-パッドの4つのボタン(UP、DOWN、LEFTおよびRIGHT)を押しBUTTON A、最終的な文字列に追加します。 ご注意ください: グリッドが回り込むのでUP、文字Aを押しながら押すとTに移動します。 「文字ポインタ」は、文字を追加した後もそのままになります チャレンジ 上記のキーボードには、大文字と小文字を変更するオプションがあり、不規則な形状です。そのため、簡単にするために、この課題では次のキーボードを使用します(右下はASCII文字32、スペースです)。 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . このようなキーボードでの入力は非常に遅いため、これを簡単にするために、与えられた文字列を入力するための最速の方法をユーザーに伝えるプログラムを書くことがタスクです。最速の方法が複数ある場合、表示する必要があるのは1つだけです。 出力キーは次のとおりです。 &gt; ために RIGHT &lt; ために LEFT ^ ために UP v ために DOWN …

16
ベイビートークをデコード!
赤ちゃんが口を開くとき、彼らはただちらほらを吐いているだけではありません。彼らは実際、非常に先進的で大人に耐える暗号で話しています... ベビートーク暗号 赤ちゃんが話すとき、それは、gogooa gagooook aagaaoooy それぞれの単一スペースで区切られたセクションがキャラクターを表すように見えるかもしれません(したがって、上の例は3キャラクターを表します)。 セクションを解読するには、セクションに含まれるAsとOsの数を数える必要があります。ただし、他の母音に隣接するもののみをカウントします。たとえば、「gag」のAはカウントされませんが、「gaog」のAとOはカウントされます。 上記の例を数えると次のようになります。 Section | Num Os | Num As gogooa | 2 | 1 gagooook | 4 | 0 aagaaoooy | 3 | 4 次に、これらの値を使用して、入力をPolybius正方形のプレーンテキストに変換します。これは、英語のアルファベットを5x5で表したもので、「J」は省略されています(ベビートークでは、0カウント規則がテーブルに適用されることに注意してください)。 0 1 2 3 4 0 A B C D E 1 F G H I K 2 L …


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