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

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

30
でこぼこの言葉ですか?
(パズルに関するこの挑戦に触発された- そのパズルのネタバレは下にあるので、自分でパズルを解決したい場合はここで読むのをやめてください!) 単語内の文字が単語内の前の文字よりもアルファベット順に遅れている場合、2つの文字の間の上昇と呼びます。それ以外の場合、同じ文字の場合も含めて、fallと呼ばれます。 たとえば、単語にACEは2つの上昇(Ato CおよびCto E)があり、下降はありませんが、THE2つの下降(Tto HおよびHto E)および上昇はありません。 立ち上がりと立ち下がりの順序が交互に変わる場合、「バンピー」と呼びます。たとえば、BUMP上昇(Bto U)、下降(Uto M)、上昇(Mto P)になります。最初のシーケンスは上昇である必要はないことに注意してください- BALD下降-上昇-下降になり、またバンピーです。 チャレンジ 単語が与えられたら、バンピーかどうかを出力します。 入力 ASCIIアルファベット([A-Z]または[a-z])文字のみで構成される適切な形式の単語(必ずしも辞書の単語とは限りません)。 入力がすべて大文字またはすべて小文字の場合の選択ですが、一貫性が必要です。 単語の長さは少なくとも3文字になります。 出力 truthy / falseyの入力ワードがでこぼこ(truthy)かでこぼこ(falsey)であるかどうかの値。 ルール 完全なプログラムまたは機能のいずれかが受け入れられます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 例 真実: ABA ABB BAB BUMP BALD BALDY UPWARD EXAMINATION AZBYCXDWEVFUGTHSIRJQKPLOMN 偽: AAA BBA ACE THE BUMPY BALDING ABCDEFGHIJKLMNOPQRSTUVWXYZ リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # …

30
文字列をゆっくりと別の文字列に変える
チャレンジ 2つの文字列/文字列の配列が与えられた場合、最初の文字列をゆっくりと縮小し、2番目の文字列に戻します。 文字列は常に同じ文字で始まると仮定できます。 例 Input: "Test", "Testing" Output: Test Tes Te T Te Tes Test Testi Testin Testing 最初に最初の単語を出力します: Test 次に、文字列の長さが1文字になるまで1文字を削除し続けます。 Tes Te T 次に、2番目の単語の1文字を追加し続けます。 Te Tes Test Testi Testin Testing (両方の文字列が1文字の長さである場合、どちらか一方を一度だけ出力します。) テストケース "Hello!", "Hi." Hello! Hello Hell Hel He H Hi Hi. "O", "O" O "z", "zz" z zz …
31 code-golf  string 

30
ワトソン・クリック回文
問題 任意のDNAストリングがWatson-Crick回文であるかどうかを判別できる関数を作成します。この関数はDNAストリングを受け取り、ストリングがWatson-Crick回文である場合はtrue値を、そうでない場合はfalse値を出力します。(TrueおよびFalseは、それぞれ1および0として表すこともできます。) DNAストリングは、好みに応じてすべて大文字でもすべて小文字でもかまいません。 また、DNAストリングは空になりません。 説明 DNAストリングは、その逆の補数がそれ自体に等しい場合、ワトソンクリック回文です。 DNA文字列が与えられた場合、最初にそれを反転し、次にDNA塩基(A↔TおよびC↔G)に従って各文字を補完します。元の文字列が逆相補文字列と等しい場合、それはワトソンクリック回文です。 詳細については、この質問を参照してください。DNA文字列の中で最も長い部分文字列を見つける必要がある場合、その部分文字列はワトソンクリック回文であるという別の課題です。 ゴール これはコードゴルフであり、最短のコードが勝ちます。 テストケース 形式は<input> = <output>です。 ATCGCGAT = true AGT = false GTGACGTCAC = true GCAGTGA = false GCGC = true AACTGCGTTTAC = false ACTG = false

6
今年は元気ですか?
前書き サンタには名前が多すぎて処理できないため、あなたの助けが必要です!彼はあなたがプログラムまたは出力機能、書き込む必要があるnice、naughty、very naughtyまたはをvery very naughty。誰かがどれだけいいか、またはいたずらかを判断するために、サンタはアルゴリズムを開発しました ニース(division、math): まず、すべての文字を加算することにより、名前から数字を取得します(スペースは無視されます)。例えば: Doorknob = D = 4 o = 15 o = 15 r = 18 k = 11 n = 14 o = 15 b = 2 4 + 15 + 15 + 18 + 11 + 14 + 15 + 2 = 94 …

5
タブを半分に分割する
スペース対タブをめぐって聖戦が繰り広げられてきました。(そしてもちろん、客観的に優れているスペースが勝ちました。)— アレックスA. S青梅PEO Pルはまだ拒否していることccept WHI のC HがClである電子アルリーの upreme。あなただけ受け取った incorを使用してファイルを再、CT Bの広告を、そしてINF のE WHIのriorフォームトンエスパス、そして今ではt彼続きのEファイルのNTS のR eは、汚染されたと台無しに。 あなたは、あなたにファイルを送った人に、彼らがどれだけ間違っているかを示すこともできます。 説明 タイトルが示すように、あなたの課題は、1つ以上のタブを含むファイルを取得することです。 this is an evil tab onoes そして容赦なくそれらを粉々に砕きます: this is an evil tab o n o e s Stack Exchangeソフトウェアはリテラルタブを4つのスペースに変換することに注意してください(正しいため)。この投稿内のタブは4つのスペースとして表示されます。ただし、プログラムへの入力には実際のタブが含まれます。 チャレンジ ソリューションでは、入力として単一の文字列を使用する必要があります。これには、印刷可能なASCII、改行、およびタブが含まれる場合があります。入力には常に少なくとも1つのタブがあります。 出力は同じ文字列で、次の規則が適用されている必要があります。 カーソルを座標(0,0)で右方向に開始します。座標は(列、行)、ゼロインデックス、方向は文字を印刷した後にカーソルを移動する方法です。 文字列の各文字に対して: 改行の場合は、座標(0、n)に移動します(nはこれまでの文字列内の改行の数(これを含む)で、方向を右にリセットします)。 タブの場合、2つのスペースを出力し、カーソルの方向を時計回りに90度回転し、さらに2つのスペースを出力して、タブを半分に効果的に「分割」します。以下は視覚的な例です。タブはで--->、スペースはで表されます·: foo--->bar--->baz になる foo··· · b a r …

17
一番眠いのは誰ですか?
文字の文字列を取り込みプログラムまたは機能書くのと'は常に文字への代替、文字だが。文字列の奇数の長さは1より大きく、常にのいずれかで開始および終了します。-=o.-=o.-=o 基本的に、入力はさまざまな眠気状態で目を共有する絵文字の顔のラインのようになります。 o.=.=.-.-.o.o あなたの目標は、最も眠い顔または最も目覚めている顔を印刷するか返すことです(選択するのはあなた次第です)。誰が最も眠い/最も起きているかについて複数の選択肢がある場合、それらのいずれかが出力されます。 9つの異なる顔と5つのレベルの眠気があります。 -.- is 100% sleepy -.= is 75% sleepy -.o is 50% sleepy =.- is 75% sleepy =.= is 50% sleepy =.o is 25% sleepy o.- is 50% sleepy o.= is 25% sleepy o.o is 0% sleepy それがはっきりしない場合には、眠気の割合は、割り当てることによって計算される1まで-、完全に眠りのため0.5に=眠って半分のために、と0にo目を覚ましのために。次に、2つの目の値を2で割った合計がパーセンテージです。 バイト単位の最短コードが優先されます。 テストケース 最も眠い -.- GIVES -.- =.- GIVES …
31 code-golf  string 

9
ねじれた「Hello world!」を構築する
あなたの仕事は、印刷物というプログラムを書き、非常に簡単であるHello, world!ツイストがプリントというプログラムを作成すること、Twister!。 弦のねじれ方 ツイストアルゴリズムは非常に単純です。各列はそのインデックスだけ下にシフトされます(col 0は0に移動し、col 1は1に移動します...)。列シフトは上に折り返されます。それはちょっとこのように見えます: a ba cba ---- cba cb c 行の下のすべてが上に折り返されます。実際の例: Original: \\\\\\\\\\\\ ............ ............ ............ Twisted: \...\...\... .\...\...\.. ..\...\...\. ...\...\...\ (お気に入りの言語のその他の例とツイスターは こちらです) 得点 プログラムは、パディングされた長方形でなければなりません。これはコードゴルフなので、バイト数が最も少なくなります! ルール 最初のプログラムは印刷する必要があります Hello, world!。末尾の改行は1つだけ許可されます。 最初と2番目のプログラムは同じ言語である必要があります。 2番目のプログラムは印刷する必要がありますTwister!。末尾の改行は1つだけ許可されます。 プログラムには少なくとも2行2列が必要です。

23
行を揃える!
行を揃える! 文字と複数行の文字列が与えられたら、文字列の各行をパディングして、指定された区切り文字の間に並ぶようにします。 例 入力: , Programming, Puzzles And, Code golf 出力: Programming, Puzzles And, Code golf 入力 入力は、複数行の文字列と文字(これを揃えます)であり、これらを任意の順序/形式で使用できます。文字は1行に1回だけ表示されます。入力の各行の長さは異なる場合があります。 入力は、関数の引数またはSTDINを使用できます。 出力 出力は、中央の同じ文字列である必要があります。1つの末尾の改行が許可され、末尾の空白は許可されません。 出力には、最小限のスペースを埋め込む必要があります。入力内の先頭の空白を削除することはできません(存在する場合)。 出力は、関数戻りまたはSTDOUTからのものです。

25
特定の範囲にいくつのIPアドレスがありますか?
に触発さ... ネットワーキング-特定の範囲にいくつのIPアドレスがあるかを調べるにはどうすればよいですか? 入力として2つの文字列を受け取り、それぞれが標準のドット表記法で表されたIPv4アドレスであるプログラムまたは関数を記述し、2つのIPアドレス入力を含むこの範囲でカバーされるIPアドレスの数を出力または返します。 IPアドレスを解析するために設計された外部コード、ライブラリ、またはサービスを使用しないでください。(他の文字列処理標準ライブラリ関数は受け入れ可能です。) すべての2 ^ 32 IPアドレスは同じです。放送、クラスEなどは区別されません。 通常のコードゴルフ規則が適用されます。 例えば: "0.0.0.0","255.255.255.255" returns 4294967296. "255.255.255.255","0.0.0.0" also returns 4294967296. "1.2.3.4","1.2.3.4" returns 1. "56.57.58.59","60.61.62.63" returns 67372037. "1","2" is invalid input. Your code may do anything you like.

3
酔ったタイピスト
バックグラウンド タイピストは、いくつかの飲み物を持ち帰り、輸入業者の手紙をまだ読む必要があることに気付きます。彼がテキストを正確に吟味するために、彼はテキスト文字bh vjaracter t0を書きます。ただし、キーの一部をt0ミスで管理します。 Youtタスクは、彼のttpingをシミュレートするコースを書くことです。ミスの発生を最小限に抑えるため、コードはposw9bleと同じくらい短くする必要があります。 キーボード キーボードは標準のANSIキーボードです。下の画像では、赤いテキストがキーの幅を示しています。すべての行の高さは1単位で、マークされていないキーの幅は1単位です。 キーは次のアクションを実行します(混乱を防ぐためだけにリストされています)。 Shiftはそれ自体では何もしませんが、通常のキーの直前に押すと、結果が変わります。 CapsLockキーは、キャップロックを切り替えます。Caps Lockがオンの場合、文字キーは逆大文字の文字を出力します。 Backspaceは、最後に出力された文字があれば削除します。 Tab、Return、およびSpaceは、それぞれタブ文字、改行、およびスペースを挿入します。 Ctrl、Altはプレゼンテーション用です。彼らは(そしてキーボードを完全になくして)何もしません。 すべての文字キーは、マークされた小文字を生成します。場合はShiftキーがちょうど彼らの前に押されて、彼らは大文字を作り出します。Caps Lockはケースを逆にします。 他のすべてのキーは、中央にマークされた文字を生成します。場合はShiftキーがちょうど彼らの前に押されて、彼らはトップにマークされた文字を作り出します。 タイピング 文字を生成するために、タイピストはキーボードでその文字を見つけ、Shiftキーを押す必要があるかどうかを確認します。その場合、彼は最初にShiftキーを押したままにします。その後、彼はすぐにターゲットキーを押して、Shiftキーを離します。彼は、ターゲットキーを押しようとした後、厳密にシフトキーを離します。 しかし、酔っぱらいのために、彼はしばしばキーを逃します。これは、ランダムな角度を(均一に)選択し、プレス位置をその方向に(適切な分布で)ランダムな量だけ移動し、着地したキーを押すことでシミュレートされます。 チャレンジ 入力として、書き込むテキストと、dレベルを示す数値パラメーターを受け取ります。酔ったタイピストが入力したテキストを出力し、上記のアルゴリズムでタイプミスを生成します。 仕様書 入力テキストには、印刷可能なASCII、タブ、改行のみが含まれます。 入力パラメーターは、ある種のスカラー数値です。その範囲は回答で指定できますが、値を大きくすると平均ミス距離が長くなり、逆も同様です。 キーボードを任意の内部サイズに拡大縮小できます。上記の単位サイズは単なる例です。 使用する座標は、キーの高さの1000分の1まで正確でなければなりません。 プログラムは、呼び出しごとに異なる結果を生成する必要があります。(のようなものsrand(time(NULL));、つまり毎秒変化するもので十分です。) ミス距離の分布は、正規分布または同様に機能する他の分布にすることができます(小さな値の確率が大きく、値が大きいほど急速に減少します。たとえば、負の指数は問題ありません)。 タイピストの指は一点です。その半径について考える必要はありません。 タイピストは、それが端にない限り、キー内のどこにでも向けることができます。中心、定位置などが有効です。 Shiftキーの選択方法は何でもかまいません。常に選択できますが、Shiftキーを押し忘れた場合は、両方のShiftキーを使用する必要があります。 Shiftキーは、キーが保持されている場合にのみ影響します(つまり、Shiftキーを押すと、別のキーの前に試行されて成功します)。Shiftキーを押しても「通常」キーを押しても何も起こりません。 Shiftキーは実際のキーの直前に押されてすぐに離されるため、間違ったキーが押されても文字の繰り返しは発生しません。 I / Oの例 以下のすべての例は、距離に正規分布を使用し、常に左のShiftを選択する参照ソリューションからのものです。タブはSEによってスペースとして表示されますが、実際の出力に表示されるはずです。 入力: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum …

13
ASCIIアートの平方根
あなたはTeXやLaTeXなどを本当に嫌う数学者のインターンとして働いています。そのため、彼はすべての組版を放棄し、すべての書式設定をASCIIで行うことにしました。しばらくするとこれにうんざりし、平方根から始めて、その一部の自動化を開始することにしました。 平方根の作成方法は次のとおりです。 ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / ### / ### _____ put a diagonal …

30
どのカードですか?
前書き 昔、私は通常のトランプでカードゲームをコーディングするときに、各カードに番号を指定し、カードを取得するためにいくつかの番号で関数を呼び出していました。これはやや私にこの挑戦をするよう促しました。 そのため、トランプを知らない人のために、カードのデッキは52枚のカードで構成されています(4つのスーツ、つまり、ハート、ダイアモンド、スペード、クラブのそれぞれに13枚)。各スーツには13枚のカードがあります。最初に2〜10の番号が付けられ、次にジャック(J)、クイーン(Q)、キング(K)、エース(A)です。これが注文です チャレンジ 課題は、入力として1〜52の整数を取り、その位置にカードを表示することです。ただし、出力は言葉で行う必要があります。また、順序を維持する必要があります。つまり、最初の13枚のカードはハート、次にダイヤモンド、次にスペード、最後にクラブになります。 たとえば、誰かが番号を選択した場合、30カードは3番目のスーツ、つまりスペードに属します。また、それは数5を意味スーツ、中に4枚目のカードだろうそこで言葉であなたの出力は次のようにする必要がありますfive of spadesし、それがなければならない、常にこの形式に従うが続く、すなわち、最初のカード、ofおよびスーツの名前でを最後に、間にスペースが必要です。 入出力 入力は 1〜52の整数です(両方を含む)。ここでカウントは1 から開始することに注意してください。0から開始することもできます。ただし、上記のカードの順序を維持する必要があります。出力は、単語で書かれたその位置のカードになります。無効な入力を処理する必要はありません。また、出力は小文字でも大文字でもかまいません。 以下に、すべての可能な入力とその出力のリストを示します。 1 -> two of hearts 2 -> three of hearts 3 -> four of hearts 4 -> five of hearts 5 -> six of hearts 6 -> seven of hearts 7 -> eight of hearts 8 -> …

30
アルファベットの階段
チャレンジ あなたのタスクは、入力なしで以下を出力するプログラムまたは関数を作成することです。 a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll mmmmmmmmmmmmm nnnnnnnnnnnnnn ooooooooooooooo pppppppppppppppp qqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrr sssssssssssssssssss tttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzz 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。

30
言葉の逆転
ソナは10歳の娘と一緒に家にいます。彼女は午後2時に学校が終わるので、学校から別の子供を連れ戻すために学校に行く必要があります。外は暑いので、彼女は小さな子供を家に置いておきたいと思っています。 彼女は、子供がいない間、忙しくしておくために、たくさんの紐を子供に与えました。彼女は、文字列の単語を逆にするように彼女に頼みました。文字列がたくさんあるので、この巨大な課題を解決するために娘を助ける必要があります。 したがって、単一のスペースで区切られた単語を含む文字列が与えられた場合、文字列内の単語を逆にします。先頭または末尾にスペースがないと仮定できます。 文字列にはのみが含まれる[a-zA-z ]ので、句読点を処理する必要はありません。 入力として文字列が与えられ、文字列を出力する必要があります。 サンプルテストケース: Input: Man bites dog Output: dog bites Man Input: The quick brown fox jumps over the lazy dog Output: dog lazy the over jumps fox brown quick The Input: Hello world Output: world Hello 得点 これはcode-golfです。バイト単位の最短回答が優先されます。

30
トレントUIのASCIIアート
問題 トレントプログラムからUIを再作成する 入力がない場合、次を出力します。 +----------+----------+----------+ |a.exe |##########|seeding | +----------+----------+----------+ |b.exe 10% |# |leeching | +----------+----------+----------+ |c.exe |##########|seeding | +----------+----------+----------+ |d.exe 20% |## |leeching | +----------+----------+----------+ |e.exe |##########|seeding | +----------+----------+----------+ |f.exe 30% |### |leeching | +----------+----------+----------+ |g.exe |##########|seeding | +----------+----------+----------+ |h.exe 40% |#### |leeching | +----------+----------+----------+ |i.exe |##########|seeding | +----------+----------+----------+ |j.exe 50% …

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