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

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

5
2014年世界IPv6デー
世界IPv6デーの記念日をマークするために、インターネット協会はOne Dayの2014年6月6日にIPv4を止めるキャンペーンを発表しました。 IPv6アドレスは、コロンで区切られた8つの16ビット16進値として長い形式で表されます。アドレスに応じて、RFC 3513のセクション2.2 アドレスのテキスト表現の項目2で説明されているように、短縮することもできます。 ゼロビットを含むアドレスの書き込みを容易にするために、ゼロを圧縮する特別な構文が利用可能です。「::」の使用は、16ビットのゼロの1つ以上のグループを示します。「::」は、アドレスに一度しか表示できません。「::」は、アドレスの先頭または末尾のゼロを圧縮するためにも使用できます。 このチャレンジのエントリは、長い形式または短い形式のいずれかでフォーマットされたIPv6アドレスを1つだけ受け入れ、長い形式と短い形式の両方で同じアドレスをこの順序で表示するプログラムです。 入力は、コマンドライン引数、STDIN、または選択した言語に適した他の入力ソースからのものです。 IPv6アドレスの解析専用のライブラリまたはユーティリティは禁止されています(inet_ {ntop、pton}()など)。 入力アドレスが無効な場合、出力は空になります(または、アドレスが無効であることを示す適切なエラーメッセージが表示されます) ::短縮が発生する場合、特定のアドレスに対して1つの短縮操作のみが発生する場合があります。特定のアドレスに対して複数の潜在的な短縮操作がある場合、全体の最短アドレスを提供する操作を使用する必要があります。この点で同点がある場合は、最初の操作が使用されます。これを以下の例に示します。 回避すべき標準的な抜け穴 例: Input Output 1080:0:0:0:8:800:200C:417A 1080:0:0:0:8:800:200C:417A 1080::8:800:200C:417A FF01::101 FF01:0:0:0:0:0:0:101 FF01::101 0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:1 ::1 :: 0:0:0:0:0:0:0:0 :: 1:0:0:2:0:0:0:3 1:0:0:2:0:0:0:3 1:0:0:2::3 1:0:0:8:8:0:0:3 1:0:0:8:8:0:0:3 1::8:8:0:0:3 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8 ABCD:1234 <Invalid address format - no output> ABCDE::1234 <Invalid address format - no …

18
クリス・パインの「ろうおばあちゃん」
私はRubyLearningのメンターであり、私たちが生徒に提供するエクササイズの1つは、クリス・パインの本「Learn to Program」の「ろうおばあちゃん」エクササイズです。説明は次のとおりです。 ろうおばあちゃんプログラムを書く。おばあちゃんに何を言っても(入力したものは何でも)、彼女は叫ぶ(すべて大文字で入力する)場合を除き、「ハァッ!声を上げて、息子よ!」あなたが叫ぶと、彼女はあなたの声を聞くことができ(少なくとも彼女はそう思う)、「いいえ、1938年以来じゃない!」と叫ぶ。 あなたのプログラムを本当に信じられるものにするために、おばあちゃんは毎回異なる年を叫んでください。多分、1930年から1950年の間の任意の年。 「BYE」と叫ぶ。 いくつかのコースを繰り返した後、私はこれをどれだけ小さくできるかを試してみましたが、今では112文字になりました。 puts (s||='').upcase==s ? "NO, NOT SINCE #{1930+rand(21)}!":"HUH?! SPEAK UP, SONNY!" until(s=gets.chomp)=="BYE" ここでRubyはすでに非常にうまく機能していると思うので、あなたが選択した言語でこれを達成できる文字数が少ないことに興味があります。 編集:以下に投稿されたPerlソリューションは、 ruby -nle 'puts($_=="BYE"?exit: $_.upcase!? "HUH?! SEPAK UP, SONNY!":"NO, NOT SINCE #{1930+rand(21)}!")' 式は92文字n、lオプションとオプションはさらに2文字です。
22 code-golf  string 

12
本当にカナダの日でしたか?
7月1日はカナダの日(イェーカナダ)です!またはそれは?と思われるWikipediaのこの日のためのページでは、カナダ関連コンテンツをたくさん持っているが、より多くのカナダ人である別の日はありますか? あなたの仕事は、入力として日付(月と日)を取り、入力された日付のWikipediaページで「カナダ」の言及の数を返すまたは出力するプログラムまたは関数を書くことです。いくつかのルール: 日付は任意の合理的な形式で入力できます あなたの提出はurlからデータを引き出す必要がありますen.wikipedia.org/wiki/Month_Day。 のみ"Canada"を検索し付属のサブストリングをカウントする必要があり、タイトルのみの場合には。"Canadian"カウントしませんが、カウント"Canada's"します。大文字と小文字を区別する正確なテキスト"Canada"が文字列内に存在する限り、一致します ページのコンテンツは、対応する.htmlファイル内のすべてと見なされます(つまり、ページとしてaをダウンロード.htmlしてメモ帳で開くと表示されます) 結果はSTDOUTに出力されるか、返されるか、他の合理的な方法で表示されます。 テストケース: July 1 => 34 May 14 => 1 Oct 31 => 2 July 4 => 2 これはコードゴルフであるため、最短の提出が勝ちます (報われないボーナスとして、カウントが最も高い日が何であるかを知りたいです)

8
レトロなディスプレイを読む
盗まれたアート数字のサイズは? 7セグメントの数字は、文字を使用してASCIIで表すことができます_|。数字は0-9次のとおりです。 _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| あなたの仕事は、アートを通常の数値に解析することです。 数字に関する注意 各桁の幅は異なります。 1 幅が 1 3そして、7ある2広いです 245689そして0、すべて3広いです また、各桁の間には1文字のパディングがあります。完全な文字セットは次のとおりです。 // <-1つのスペースである必要がありますが、SEの書式設定は台無しにします | | ------------- _ _ | | _ …

15
コーディング規約の変換
そのコーディングゴルフでは、TitleCaseを使用した1つのコーディング規則をlower_case_with_underscoresに変換する必要があります。およびその逆! 仕様 次の方法でケーシングを変更します。 アンダースコア文字が区切り文字の場合、区切り文字なしで大文字小文字をタイトルケースに変更します。 区切り文字のない単語が複数ある場合は、大文字小文字を小文字に変更し、アンダースコア文字を区切り文字として追加します。 単語が1つ(または1文字)の場合:単語が小文字で始まる場合は、大文字小文字をタイトルケースに変更します。単語が大文字で始まる場合、大文字小文字を小文字に変更します。 許可される文字: AからZ aからz アンダースコア(_)。 大文字と小文字が混在する入力は許可されません。許可されないケースの例: Coding_Convention_Conversion a_BC 事例 Input | Expected Output =========================================================== CodingConventionConversion | coding_convention_conversion coding_convention_conversion | CodingConventionConversion abc | Abc Abc | abc ABC | a_b_c a_b_c | ABC a | A A | a ルール 使用を許可されToUpper、ToLowerそしてToTitleCase関数の。 正規表現を使用できます。 code-golf:バイト単位の最短コードが勝ちます!
22 code-golf  string 

30
ストリングスの塔
テキストの文字列が与えられたら、それを「タワー」として出力します。 (の形式の0:n)文字列の各スライスが繰り返される5*nので、最初の文字が5回繰り返され、最初と2番目の文字が10回繰り返されます。 例: 'hello' -> ['h'] ['h'] ['h'] ['h'] ['h'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', 'l'] ['h', 'e', …

18
Boggleのゲームを獲得する
バックグラウンド で尻込み、ラウンドは、それぞれのポイントを加算して得点されるユニークな(複数のプレイヤーが0ポイントの価値がある見つけたすなわち任意の単語)プレイヤーが発見した言葉。ポイントは、次のように各単語の文字数に基づいて計算されます。 3文字:1ポイント 4文字:1ポイント 5文字:2ポイント 6文字:3ポイント 7文字:5ポイント 8文字以上:11ポイント チャレンジ この課題では、各プレーヤーの単語を表す文字列のリストのリストを取り込んで、プレーヤーのスコアのリストを出力するプログラムまたは関数を作成します。少なくとも2人のプレイヤーがいて、すべての単語が3文字以上で、すべて小文字(または必要に応じてすべて大文字)であると想定できます。また、各プレイヤーが各単語を1回だけ使用すると想定することもできます。つまり、プレーヤーのリストには重複が含まれません。これはコードゴルフであるため、バイト単位の最短回答が優先されます。 ルール 入力は、合理的な形式で取得できます。例には、文字列のリストのリスト、コンマで区切られた文字列のリスト、入力の各行のコンマで区切られた文字列などが含まれます。選択したセパレーター(改行など)を使用してstdoutに値。 テストケース 入力=>出力 [["cat","dog","bird","elephant"], ["bird","dog","coyote"], ["dog","mouse"]] => [12,3,2] [["abc","def","ghi"], ["ghi","def","abc"]] => [0,0] [["programming","puzzles"], ["code","golf"], []] => [16,2,0]

17
スプリットマークのマーク
チャレンジ マークは、N単一の行で連結された方法でマークを受け取る学生です。 課題は、各マークが唯一できることを知って、彼のマークを分離することである0か、1または2または3または4または5または6または7または8または9または10。 入力 N 自然数と1行。 出力 自然数のセット。 例 N, One line------------------> Set of marks 3, '843'---------------------> [8, 4, 3] 1, '0'-----------------------> [0] 2, '1010'--------------------> [10,10] 3, '1010'--------------------> [1,0,10] or [10,1,0] 4, '1010'--------------------> [1,0,1,0] 9, '23104441070'-------------> [2, 3, 10, 4, 4, 4, 10, 7, 0] 12,'499102102121103'---------> [4, 9, 9, 10, …

16
間隔表記
チャレンジ: 入力: 2つの整数パラメーターaとb(ただしa<b、差は少なくとも2) 出力: 出力またはこのテキスト、返すaとbに充填されました: (a,b) = ]a,b[ = {a<x<b} = {a<x&&x<b} = a+1..b-1 [a,b) = [a,b[ = {a<=x<b} = {a<=x&&x<b} = a..b-1 (a,b] = ]a,b] = {a<x<=b} = {a<x&&x<=b} = a+1..b [a,b] = [a,b] = {a<=x<=b} = {a<=x&&x<=b} = a..b チャレンジルール: I / Oは柔軟です。STDOUTに出力でき、文字列/文字配列などとして返されます。2つの整数、10進数、文字列として入力できます(a+1and を計算する必要があるのでわかりませんb-1が、私のゲストになります)。 任意の長さの先頭および/または末尾の改行が許可され、各行の末尾および/または先頭のスペースが許可されます。 等号のスペース(同じ列に配置するスペースを含む)は必須であり、他の文字間のスペースは許可されません。 a+1そしてb-1これらの計算の後に正しい値に置き換えられます。 の≤代わりに使用することはできません<=。 …

5
HTMLページを山に変換する
タスク: HTMLページを山に変換します! HTMLページがインデントされると、次のようになります。 <div> <div> <div> </div> <div> <div> </div> </div> </div> </div> しかし、正直なところ、山はこの構造をより代表しています。 したがって、次のように書き換えることができます。 /\ /\/ \ / \ / \ 左右の一番外側のスラッシュは、外側のdivに対応しています-HTMLタグの各ペアは、 /、開始タグと\終了タグ -すべてのタグの内側は同じ構造で「より高い」です。 入力: 何もないだろう <!DOCTYPE> 自己終了タグはありません。例 <img />または<br /> タグ内に属性またはコンテンツがある場合があります スペースまたはタブがある場合があります-プログラムはこれらを無視する必要があります <またはの間にスペースはありません</とタグ名 すべての入力は有効なHTMLになります 出力 -上記のタグを表す山。 その他のテストケース: 入力: <div id="123"> HI </div><a><span></span></a> 出力: /\ /\/ \ 入力: <body …

27
VEVOユーザーアカウントチェッカー
YouTubeでミュージックビデオをよく見ます。ミュージックビデオをホストする多くのYoutubeチャンネルは「powered by VEVO」です。これらは、ビデオサムネイルにVEVOを埋め込むことと、チャンネル名にVEVOを追加することで簡単に識別できます。 ここで、ユーザーが指定した文字列がVEVOユーザーアカウントかどうかをテストするコードを作成します。 有効なVEVOユーザーアカウント文字列の要件: 大文字、小文字、数字のみを含める必要があります。(空白または句読点なし) 80文字を超えることはできません。 文字列の最後に「VEVO」部分文字列が必要です テストケース: 有効な入力: AdeleVEVO ConnieTalbotVEVO SHMVEVO justimberlakeVEVO DJMartinJensenVEVO test123VEVO 無効な入力: syam kapuk jypentertainment Noche de Brujas testVEVO123 もちろん、これはcode-golfなので、あらゆるプログラミング言語を使用して最短のコードを探しています。

30
文字列として指定された2つの数値を比較する
仕事で問題があります。2つの異なるデータベースから文字列として送られる2つの数値を比較する必要があります。数字には、先行ゼロや先行/末尾スペースが含まれる場合があります。そのため"0001 "、あるデータベースと" 1 "別のデータベースの両方を使用できます。 私は次のコードでC#の問題を解決しました: Func<string, string, bool> f = (a,b) => int.Parse(a.Trim()) == int.Parse(b.Trim()) チャレンジ これは本当に簡単な挑戦であり、初心者やあらゆる難解な言語に適しています。先行ゼロや先行/末尾スペースが含まれる可能性のある文字列として2つの数値が与えられた場合、2つの文字列が同じ数値を表すかどうかをチェックする最短のコードを記述します。 入力は、2つの文字列または言語の同等の文字列(char配列でも構いません)である必要があり、常にゼロより大きい整数値を表します。 出力は、真理値と偽値を表す2つの一貫した値である必要があります。 例 A B Result ---------------------------- "0001" "1 " true "1450" "1450 " true "0010001 " " 10001 " true "0010000" " 10 " false "101023" "101024" false これはcode-golfなので、各言語の最短コードが勝つかもしれません!

12
あいまいな複数形を削除してください!
プログラミングは非常に厳格です。「バナナカウントを出力する」ようにプログラムに指示することはできませんprint(bananas)。 しかし、それを行うと、問題が発生します。バナナの数が事前にわからないため、複数形を使用するかどうかわかりません。 時々、プログラマーは怠zyなやり方をします。チェックする代わりに、単に印刷しますthere are X banana(s)。 しかし、それは見苦しいため、これを修正するプログラムが必要です。 メソッド 文字列のあいまいな複数形を削除するには、次の手順を実行します。 スペース上の文字列を単語のリストに分割します。 で終わる単語ごとに(s)、次の操作を行います。 前の単語である場合a、an、1またはone、削除(s)単語の終わりに。 単語が最初の単語が文字列であるか、先行する単語がない場合はそれ以外の場合は、a、an、1またはone、交換する(s)と単語の終わりにs。 単語のリストを結合して文字列に戻し、元の空白を保持します。 例 文字列を取りましょうthere's a banana(s) and three apple(s)。 まず、文字列を単語のリストに分割します。 ["there's", "a", "banana(s)", "and", "three", "apple(s)"] 2番目のステップでは、(s):banana(s)とで終わる2つの単語を使用しapple(s)ます。 前の言葉banana(s)はaですので、削除して(s)作りますbanana。前の単語がapple(s)ありthree、我々は変更するので、(s)にしs、これにはなりapples。 私たちは今持ってい["there's", "a", "banana", "and", "three", "apples"]ます。リストを元に戻すと、が得られthere's a banana and three applesます。これが最終結果です。 課題) 任意の妥当な形式のあいまいな文字列を取り、その文字列の明確なバージョンを返すプログラムまたは関数を作成します。 文字列に改行、タブ、またはキャリッジリターンが含まれていないと想定できます。 私は、スペースまたはスペース(すなわちかどうかのグループに分割するかどうかを指定するのを忘れてokay then二つの空間であるべき["okay", "then"]か["okay", "", "then"])あなたが分割のいずれかの形式をとることができるので、挑戦を投稿するとき。 テストケース …
21 code-golf  string 

25
私のエスペラントを解析してください!
有名な構築言語エスペラント語はラテンアルファベットを使用します(詳細については、リンクされたウィキペディアのページを参照してください)。ただし、アクセント付きの文字がいくつかあります:ŭ、ŭ、accent、ĵ、ŝ、およびŭ。(C曲折曲、G曲曲曲、H曲曲曲、J曲曲曲、S曲曲曲、およびU字曲。)当然、これらの文字は入力が非常に困難です。この質問でも、Unicodeセレクターで文字を検索する必要がありました。このため、文字「x」を使用する規則が電子使用のために開発されました。たとえば、「cxu」は「ĉu」に使用されます。(注:文字「x」はエスペラントのアルファベットでは通常使用されません。」 しかし、私は言語純粋主義者です!この*空中引用* xナンセンスは私を殺している!これを修正するためのプログラムが必要です。できればできるだけ短くして、できるだけ早く端末に入力できるようにしてください。 チャレンジ あなたの使命は、x-conventionを使用して一連のエスペラントを取り、それを実際のエスペラントに変換することです。 実際には、以下をマップする必要があります。 cx: ĉ gx: ĝ hx: ĥ jx: ĵ sx: ŝ ux: ŭ Cx: Ĉ Gx: Ĝ Hx: Ĥ Jx: Ĵ Sx: Ŝ Ux: Ŭ 他のすべての印刷可能なASCII文字は受け入れられ、変更されません。Unicodeは便利ですが、必須ではありません。 入力および出力は、言語に適した任意の形式にすることができます。がんばろう! テストケース "input" : "output" _____________ "gxi estas varma" : "ĝi estas varma" "Cxu sxi sxatas katojn aux hundojn?" …

22
文字列から正方形を彫る
今日の課題は、複数行の文字列を取得し、左上隅を含む文字列に含まれる最大の正方形を出力することです。 四角い文字列は次のようなものです: 各行の文字数は同じです 各行の文字数は、行数と同じです。 次の可能な入力文字列を考慮してください。 abcde fgh asdf foobar 最初の文字(a左上隅)を含む、そこから取得できる最大の正方形は次のとおりです。 abc fgh asd 2行目の長さが足りないため、辺の長さ4の正方形はありません。次に、この潜在的な入力を検討します。 a bcd edf ghi ここで最大の広場はちょうどaです。下部に形成された3x3の正方形には最初の文字が含まれておらず、カウントされません。 以下に、さらにいくつかのテストケースを示します。 a a abc def gh ab de ab cd ab cd abcde fghij klm no abc fgh klm a b a LF、CR、またはCRLFの選択により、入力を区切る必要がある場合があります。 改行文字は、行の長さの一部とは見なされません。 入力に末尾の改行があるかどうかを要求する場合がありますが、これは追加行としてカウントされません。 入力は文字列または1D文字配列です。文字列のリストではありません。 入力は空ではなく、すべての行は空ではなく、スペースと改行(行区切り記号)を含む印刷可能なASCIIのみを含み、タブは含まないと想定できます。 これはcode-golfで、最少バイトが勝ちます!
21 code-golf  string 

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