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

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

20
ワードシェーピングの芸術
ワードシェーピングの芸術 バイナリマトリックスと文字列を指定すると、マトリックス内のすべての1を左から右に、文字列の文字で置き換えます。文字がマトリックスの形状に形成されたら、マトリックスを印刷し、0をスペースに置き換えます。たぶん1つまたは2つの例を挙げる方が簡単でしょう。 ケース:ベースケース... 入力1: [0,0,1,0,0] [0,1,0,1,0] [1,0,0,0,1] [0,1,0,1,0] [0,0,1,0,0] "PPCGPPCG" 出力1: P P C G P P C G 場合: 入力文字列が1の数よりも長い場合... 入力2: [1,0,0] [0,1,0] [1,0,1] lambda 出力2: l a m b 場合: 入力文字列が1の数よりも短い場合... 入力3: [1,1,1] [1,0,1] [1,1,1] PPCG 出力3: PPC G P PCG 利用可能な仮定 入力文字列が決して空ではないと仮定することができます。 マトリックスが空になることはないと想定できます。 バイナリマトリックスがすべてゼロになることはないと想定することはできません。 ルール 文字列が1の数より短い場合は、文字列を繰り返します。すべてを交換する必要があります。 文字列が1の数よりも長い場合は、必要なもののみを使用してください。 …

7
プログラミングパズル、ゴルフのコード
バックグラウンド イタリア語の定冠詞(英語theに対応)には、l '、il、lo、gli、i、la、leの 7つの異なる形式があります。どちらを使用するかは、3つの変数に依存します。 性別:男性/女性。 数:単数/複数。 後続の単語の頭文字:母音/子音タイプA /子音タイプB 母音は、これらのいずれかである:AEIOU。 子音タイプBは、これらのケースのいずれかである:S-別の子音が続く、Z-、gn-、PN- 、PS-、X-、I-(この母音が続くiは半母音として作用します)。 子音タイプAは、タイプBではない子音です。 表は、上記の3つの変数の12の組み合わせのそれぞれで使用される記事フォームを示しています。l '形式は、単一引用符でスペースなしで次の単語に付加されることに注意してください。 チャレンジ 単語と、性別と番号を示す1つまたは2つの文字列、数字、またはブール値を入力します。(最初の文字は、入力語から取得する必要があります)。 入力ワードは、小文字のASCII文字のシーケンスになります。アクセント付きの母音は、アクセントのない母音に置き換えられます(たとえば、realtàはrealtaとして入力されます)。 性別と数値の入力は、個別の数値、ブール値または文字列、または文字列の組み合わせ数(たとえば、男性の単数の場合は1、女性の単数の場合は2など)にすることができます。 回答で指定されている限り、任意の妥当な形式と区切り記号を使用できます。 出力単語は、物品の適切な形が先行し、必要に応じてスペースまたは単一引用符で、。出力も小文字にする必要があります。末尾または先頭の空白スペースが許可されます。 コードゴルフ、最短の勝利。 テストケース Iは、入力文字を使用して、以下にm、f性別を指定するために、及びs、p(これは単に1つの可能な入力形式である)数について。 Input Output Comment macchina f s la macchina Initial letter is cons. A zio m s lo zio Initial letter is cons. B libri m p i …

18
いくつかの番号を解凍します
あなたの仕事は、10行の長さのジッパーを生成するプログラムまたは関数を作成することです。ジッパーの各行は2つのダッシュで表され--ます: -- -- -- -- -- -- -- -- -- -- プログラム/関数は入力としてパーセンテージ(10で割り切れる)を取り、出力は上部からパーセンテージで「解凍」(ダッシュで区切られた)ジッパーになり、1インデックス付きの最低レベルが2回繰り返されます。以前のすべてのレベルが4、6、8、...などを繰り返した。ジッパーの底を中央に保ちながら何度も。 例 >>10% -11- -- -- -- -- -- -- -- -- -- >>50% -1111111111- -22222222- -333333- -4444- -55- -- -- -- -- -- >>100% -11111111111111111111- -222222222222222222- -3333333333333333- -44444444444444- -555555555555- -6666666666- -77777777- -888888- -9999- -10- 入力(パーセンテージ)は好きなようにフォーマットできます(50%、. 5、50、5 [ゼロインプライド]など)。常に0〜100の範囲で、10で割り切れます。例は出力に保存する必要があります。

9
長方形の検出
0および1の複数行の文字列を取り込むプログラムまたは関数を作成します。文字列には他の文字は含まれず、文字列は常に長方形(すべての行に同じ数の文字が含まれます)で、寸法は1×1ですが、それ以外の場合は0'と1'は任意に配置できます。 あなたは、文字列は、オプションの末尾の改行を持っていると仮定して、必要に応じて、あなたは、任意の2つの異なる使用することができ、印刷可能なASCII文字の代わりに文字を0して1。 印刷または戻りtruthy値を場合、すべてのパスが接続されているの領域を両方0のと1のある文字列内の固体の長方形、他の出力falsy値。 パス接続領域の0「いずれかからのS手段0領域内の、すべての他0のだけ上方に移動することによって到達することができるが、上下、左右他方へ0の(としない、斜めに移動しない任意に移動し1、そして文字列の境界の外側に移動しない)。同じ考え方が1パス接続されたリージョンにも適用されます。 の実線の長方形は0、長方形の領域全体がで塗りつぶされてい0ないことを意味します1。同じ考えが塗りつぶされた1長方形にも当てはまります。 バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です。 (ストリングはトロイダル境界条件でラップアラウンドしないことに注意してください。) 例 1)この入力文字列には、3つのパス接続領域があります(2に対して01、1に対して1 1)。00ただし、右下の領域のみが塗りつぶされた長方形であるため、出力は偽になります。 0011 0111 0100 2)この入力文字列には、4つのパス接続領域があります(両方0とに2つ1)。それらはすべて実線の長方形であるため、出力は真実です。 0011 0011 1100 3)この入力には2つのパス接続領域がありますが、そのうちの1つだけが塗りつぶされた長方形であるため、出力は偽になります。 00000000 01111110 00000000 4)この入力には1つのパス接続領域のみがあり、単純な長方形であるため、出力は真実です。 11111111 11111111 11111111 テストケース Tただ、入力文字列の手段truthy以下、F手段がfalsy。 0 T 1 T 00 T 01 T 10 T 11 T 0000000 T 1111111 T 011100100100101100110100100100101010100011100101 T 00 11 T 01 10 …

12
2つの文字列をインターリーブするすべての可能な方法
最近、stackoverflowでこの質問を見ました。すばらしい質問ですが、この質問には致命的な問題が1つあります。彼らはそれを行うための最良の方法を求めています。たとえば、読みやすく、最も慣用的で、最近のものなど。彼らはそれが重要ではないことを知らないのですか?最小限のコードでそれを行う方法について尋ねる必要があります! 私はその質問がstackoverflowで高く評価されるとは思わないので、私はそれをここで尋ねることにしました。 チャレンジ 任意の2つの文字列をインターリーブするためのすべての可能な方法を生成する、最短のプログラムまたは関数を作成する必要があります。たとえば、2つの文字列が'ab'との'cd'場合、出力は次のとおりです。 ['abcd', 'acbd', 'acdb', 'cabd', 'cadb', 'cdab'] ご覧のとおり、aは常にの前bにあり、c常にの前にありdます。 IOは任意の合理的な形式にすることができます。このpythonコードを使用して、出力を確認してください。(クレジット:JeD) def shuffle(s,t): if s=="": return [t] elif t=="": return [s] else: leftShuffle=[s[0]+val for val in shuffle(s[1:],t)] rightShuffle=[t[0]+val for val in shuffle(s,t[1:])] leftShuffle.extend(rightShuffle) return leftShuffle サンプルIO: shuffle("$", "1234"): ['$1234', '1$234', '12$34', '123$4', '1234$'] shuffle("az", "by"): ['azby', 'abzy', 'abyz', 'bazy', …

7
単純なシステムの静電ポテンシャル
物理学では、電荷のように反発し、電荷とは異なります。 距離を隔てた2つの単位電荷間のポテンシャルエネルギーdは1/d、同様の電荷と-1/d異なる電荷です。電荷システムのポテンシャルエネルギーは、電荷のすべてのペア間のポテンシャルエネルギーの合計です。 チャレンジ 文字列で表される単位電荷のシステムのポテンシャルエネルギーを決定します。 これは code-golfであるため、バイト単位の最短ソリューションが優先されます。 入力 のみからなる空でない複数行の文字列、+、-、 各ライン一定幅の改行。+と-、それぞれ+1と-1の電荷を表します。たとえば、次の文字列: + - + (左上を原点とみなす)は、(4,0)と(1、-1)に正電荷、(6,0)に負電荷を持つシステムを表します。 または、入力を行のリストとして取得することもできます。 出力 電荷システムのポテンシャルエネルギーを表す符号付き実数。出力は、4つの有効数字または10 -4のうち、どちらか緩い方に修正する必要があります。 テストケース: - 出力する必要があります0。反発または引き付ける電荷のペアはなく、空白は何も変更しません。 + - 料金は2つのみです。それらは垂直方向に1単位、水平方向に2単位離れているため、距離はsqrt(5)です。出力は-1 / sqrt(5)=になり-0.447213595ます。 + - - + 与える必要があります-2.001930531。 - -- -+ - - -+-++-+ +-- + +-- + ++-++ - ---++-+-+- -+- - +- -- - -++-+ --+ …

4
フランス語で時間を伝える
Bonjour、PPCG!Quelle heure est-il?これはフランス語で何時かということを意味します。まさにそれがまさにこの挑戦の目的です。 フランス語で(少なくとも正式に)時間を伝えることは、英語で時間を伝えることとは少し異なります。Il est(It is)で時間を告げます。その後、あなたは続く時間入れユール(時を)。(フランス語の番号がわからない場合は、http://blogs.transparent.com/french/french-numbers-learn-how-to-count-from-1-to-1000/のリストをご覧ください)。それが1時である場合は、これを回避します。正午にはmidi(ヒュールなし)を使用し、深夜にはminuitを使用します。 分が00でない限り、その後に分数を続けます。ただし、これにはいくつかの例外があります。15分間はet quartと言い、30分間はet demiと言います。30分後の場合は、時間数を1つ増やし、moinsと60-分という単語を追加します。したがって、午後6時40分は最低9月のheures moins vingt(vingt = 20)です。45分はクォートです。 最後に、時刻で終了します。午前中(午前1時から午後12時まで)にdu matinと言います。午後(主観的ですが、午後1時から午後5時と定義します)、de l'apres-midiと言います(技術的には、eの上にアクセントがあるはずですが、ehになります)。そして、夜(午後5時から午前12時)については、「デュソワール」と言います。真夜中と正午(minuitとmidi)には、これらを後で入れないことに注意してください-使用する時間に基づいて時刻が暗黙指定されます。 おそらくすでに確認したように、ここでの課題は、これらのルールを使用して現在の現地時間をフランス語で出力することです。さまざまな時点でのサンプル出力は次のようになります。(カッコ内の時刻は明らかに印刷する必要はありません、それはちょうどそこにあるので、あなたは何時かを知っています): Il est sept heures du matin. (7:00 A.M) Il est deux heures de l'apres-midi. (2:00 P.M) Il est une heure du matin. (1:00 A.M) Il est huit heures du soir. (8:00 P.M) Il …

15
プログラムのバイト数を数える
注2:@DigitalTrauma6バイトの長い回答を受け入れました。誰かがそれを打つことができるなら、私は受け入れられた答えを変えます。遊んでくれてありがとう! 注:10/14/15の午後6時(MST)に回答を受け付けます。参加したすべての人に感謝します! これがまだ質問されていないことに非常に驚いています(または、十分に検索しませんでした)。いずれにしても、この課題は非常に簡単です。 入力:文字列形式のプログラム。さらに、入力には以下が含まれる場合と含まれない場合があります。 先頭と末尾のスペース 末尾の改行 非ASCII文字 出力: 2つの整数、1つはUTF-8文字カウントを表し、もう1つはバイトカウントを表します。どの順序を選択してもかまいません。末尾の改行が許可されます。出力は、STDOUTに送信することも、関数から返すこともできます。2つの数値が互いに区別できる限り、ITはどの形式でもかまいません(2327は有効な出力ではありません)。 ノート: 改行を\nまたはと見なすことができます\r\n。 テスト用の素敵なバイトと文字のカウンターを次に示します。また、同じことがメタ投稿です(@Zeregesに感謝)。 サンプルI / O:( すべての出力はの形式です{characters} {bytes}) 入力: void p(int n){System.out.print(n+5);} 出力: 37 37 入力: (~R∊R∘.×R)/R←1↓ιR 出力: 17 27 入力: friends = ['john', 'pat', 'gary', 'michael'] for i, name in enumerate(friends): print "iteration {iteration} is {name}".format(iteration=i, name=name) 出力: 156 156 …

8
クレイジーライブラリアンのすばらしい仕分けシステム
学校シーズンに戻りました!アルバイトの場合、学校の図書館で手伝っています。問題は、主任司書が「デューイ十進法」という言葉さえ聞いたことがないことであり、そのシステムを実装したことは言うまでもない。代わりに、ライブラリが拡大するにつれて、使用中の分類システムが「有機的に」成長しました... あなたの正気を保つために、あなたは本が返されるときに本を分類するのを助けるプログラムを書くことを選んだ。(ヘッドライブラリアンは非常に厳格です。) 入出力 入力は、STDIN /同等の言語からの(架空の)書籍タイトルのリストで、1行に1つずつです。 一度に入力できるのは100冊までです(一度に多くの本を図書館に持ち込むことができます)。 書籍のタイトルには複数の単語を含めることができ、これらの単語はスペースまたはその他の句読点(コロン:、ダッシュ-など)で区切ることができます。 計算を簡単にするために、すべてのタイトルがUTF-8であると想定します。 出力は同じタイトルで、以下のルールに従ってソートされ、再び1行に1つずつ、STDOUT /言語に相当します。 ソート規則 書籍は、平均文字値(つまり、累積文字値を書籍タイトルの文字数で割った値)に基づいて数値順にソートされ、次の規則に従ってカウントされます。 すべての文字は、タイトルの文字数を決定するためにカウントされます。 小文字は、アルファベットの位置によってカウントされます。(a = 1、b = 2、... z = 26) タイトルに大文字が含まれる場合、それらは小文字の値(A = 1.5、B = 3、... Z = 39)の1.5としてカウントされます。(「大文字が重要です!」司書は言います。) このリストの各句読点/記号は、!@#$%^&*()-=_+[]\{}|;':",./<>?~平均する前に累積値から-1をカウントします。(「壮大なタイトルは違います!」) タイトルにアラビア数字で書かれた数字が含まれている場合、ソートする前にその数字が平均値から差し引かれます。複数の連続した数字は1つの数字として扱われます(たとえば、424を減算してから2を減算するのではなく、42を減算します)。個々の数字は累積値にはカウントされません(つまり、各数字は0に寄与します)が、DOは文字数にカウントされます。これは負の値になる可能性があるため、適切に処理する必要があることに注意してください。(噂によると、司書は数年前から数学のインストラクターに夢中になっている。) タイトルにで始まる2つの単語が含まれているR場合、本は「無限」のスコアを取得し、コーナーの山に捨てられます(つまり、リストの最後にランダムに配置されます)。(司書は、それらのイニシャルを持つ人によってかつて投げ捨てられた、またはあなたは聞いたことがあります。) スペースは、累積文字値にはカウントされません(つまり、0は寄与します)が、タイトルの文字数には寄与します。 上記のルールに適合しない文字(例:a ÿ)は、累積文字値にはカウントされません(つまり、0に寄与します)が、タイトルの文字数には寄与します。 たとえば、架空の本ÿÿÿÿÿにはの「スコア」が(0+0+0+0+0) / 5 = 0ありますが、架空の本ÿÿyÿÿにはの「スコア」があり(0+0+25+0+0) / 5 = 5ます。 偶然同じ「スコア」の2冊の本を、選択した順序で出力できます。(とにかく同じ棚にあります) 入力例1 War and Peace Reading …

8
簡単ですか、それとも難しいですか?
あなたの難しいことをするために、あなたはいくつかの単語が簡単な方法で説明されるかどうかを見つけることをするためにコンピュータのために何かを作らなければなりません。使用頻度の最も高い単語100語のみを使用する場合、何かが簡単に説明されます。そうでない場合は、難しい方法で説明されます。これは、完全なコンピューターのものでも、コンピューターのものの一部でもかまいません。(完全なプログラムまたは機能) コンピューターには、各単語の間にスペースを入れて1万個の単語がすべて含まれているものを読む必要があります。コンピューターが読み取るものの名​​前は「most used.txt」と呼ばれます。このコンピューターの場所からこのことを取ることができます。 コンピューターを使用する人は、いくつかの単語を入力します。(これはSTDIN、関数の引数、またはコマンドラインの引数から取得できます)コンピューターは、単語が単純な場合はtrueのように、難しい場合はtrueではないようなものを言う必要があります。(真実-偽)コンピューターがすることを最短にする人が最高です。すべての人が悪いと知っていることは悪いことです。(標準の抜け穴が適用されます) コンピュータの仕組みがどのように機能するかについて知っておくべきこと: 単語が大きいか小さいかは関係ありません。 単語の意味をわかりやすくするための写真(句読点)は重要ではありません。そのため、コンピューターを使用する人が「しない」と言っても、「しない」という言葉と異なる言葉ではありません。数字やその他の写真も関係ありません。だから、人が「HE $$ ll9o」と言ったら、コンピュータは「hello」のように読むべきです 単語(ダッシュ)間の小さな線は、スペースと同じように機能します。したがって、「up-goer-five」という単語は「up-goer five」という単語と同じです。 このような単語の作成について知っておくべきこと: https://xkcd.com/1133/ http://splasho.com/upgoer5/#
21 code-golf  string 

3
フランス語で男性名詞と女性名詞を100文字以内で区別する
100文字以内の非常に小さなプログラムを作成します。プログラムは、男性と女性のフランス語の名詞を区別する必要があります。出力unは、男性的なものでありune、女性的なものでなければなりません。多くの場合、従うことができる特定の統計ルールがあります(たとえば、「e」で終わる場合は、男性より女性的である可能性が高い)。 入力: フランス語の単語。小文字のアクセントと小文字を含むダッシュとダッシュで構成されます。 入力例: ami 出力: un単語が男性的でありune、単語が女性的である場合。 出力例: un すべての単語を正しくする必要はありません。あなたの目標は、可能な限り正確であることです。 得点:あなたの答えは 100文字以内でなければなりません。以下のようなステートメントprintやconsole.logかではalertないではない、あなたの総バイト数の一部としてカウントされます。このタスクを実行する関数またはメソッドを作成することもできます。その場合f=x=>、関数宣言の一部である最初の数バイト(例:)は合計には含まれません。合計スコアは、不正解の数です。ネクタイはコードサイズによって壊れます。 テストする名詞: un ami un café un chapeau un concert un crayon un garage un garçon un lit un livre un mari un musée un oncle un ordinateur un pantalon un piano un pique-nique un portable un père un …

21
こんにちは世界!!!フィボナッチ分布
プログラムは正確に出力する必要があります:Hello world!!!改行ありまたは改行なし。 プログラムには何も入力しないでください。 ソースコードの文字分布は、次の条件に従って正しくなければなりません。 数字の数(0-9)は、正確に1つのフィボナッチ数列でなければなりません。 ソースコード内のその他の数字以外の文字!(0-9)の数は、上記のフィボナッチシーケンス番号の前のフィボナッチシーケンス番号でなければなりません。 ソースコード内の有効な文字分布の4つの例: 13桁の数字、8桁の非数字。 34桁の数字、21桁の非数字。 数字55文字、数字以外の文字34文字。 89桁の数字、55桁の非数字。 これはコードゴルフで、バイト単位の最短コードが勝ちです!がんばろう! 編集:この質問は、コードゴルフであることに加えてソースコードのサイズに制約があるため、受け入れられる回答(複数のシェアが同じ勝利キャラクターの長さである場合)は、投票数が多く(文字数が最小)回答になります。 03-01。

30
入力文字列内のすべての文字の出現回数を表示する
コードはキーボードからの入力として文字列を受け取る必要があります。 The definition of insanity is quoting the same phrase again and again and not expect despair. 出力は次のようになります(特定の順序で並べ替えられていない)。 : 15 . : 1 T : 1 a : 10 c : 1 e : 8 d : 4 g : 3 f : 2 i : 10 h : 3 …

17
ケンブリッジ転置
すべてではないにしても、ほとんどの人が何らかの点でこれに出くわしたと思います。 Cmabrigde UinervtisyのrscheearchへのAoccdrnig、それはwrodのltteersがwordでmttaerであるとは思わない、olny iprmoetnt tihngはrhtit pclaeであります。rsetはtoatl msesである可能性があり、あなたはそれをwouthit porbelmに座っていることができます。Tihsはbcuseaeであり、istlefがervey lteterを支持したのではなく、wloheとしてwrodを食べました。 任意の量のテキストを入力するプログラムを作成します。テストのために、上記のテキストのスクランブルされていないバージョンを使用してください。 次に、プログラムは、各単語の最初と最後の文字を除いて、4文字以上の長さの各単語の文字をランダムに転置する必要があります。 他のすべてのフォーマットは同じままにする必要があります(大文字と句読点など)。 テストテキスト: ケンブリッジ大学の研究者によると、単語の文字がどのような順序であるかは関係ありません。唯一重要なことは、最初と最後の文字が正しい場所にあることです。残りは完全に混乱する可能性がありますが、問題なく読むことができます。これは、人間の心がすべての文字を読むのではなく、単語全体を読むからです。 いつものように、これはコードゴルフです。最短のコードが優先されます。

30
世界はエドで終わる
ACM Winter Programming Contest 2013から直接取られました。あなたは文字通り物事を好む人です。したがって、あなたのために、世界の終わりが編集されます。「The」と「World」の最後の文字が連結されました。 文を取得するプログラムを作成し、その文の各単語の最後の文字をできるだけ少ないスペース(最小バイト)で出力します。単語はアルファベットの文字以外の文字(ASCIIテーブルでは65〜90、97〜122)で区切られます。つまり、アンダースコア、チルダ、墓、中括弧などが区切り記号になります。各単語の間に複数のセパレータが存在する場合があります。 asdf jkl;__zxcv~< vbnm,.qwer| |uiop->-> flvmrp pigs, eat dogs; eat Bob: eat pigs-> ststbts looc si siht ,gnitirw esreveR-> citwR 99_bottles_of_beer_on_the_wall->sfrnel
21 code-golf  string 

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