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

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

24
バンド名を並べ替える
チャレンジの説明 あなたのような、名前をそれぞれ有する多くのバンドによって記録された多くのトラック、との音楽ライブラリを持ってQueen、Aerosmith、Sunny Day Real Estate、The Strokes。オーディオプレーヤーがライブラリをバンド名のアルファベット順に表示する場合、The多くのバンド名がで始まるため、通常はその部分をスキップTheします。これにより、メディアコレクションを簡単にナビゲートできます。この課題では、文字列のリスト(配列)を指定して、そのようにソートする必要があります(つまりThe、名前の先頭の単語を省略します)。メソッドまたは完全な作業プログラムを作成できます。 サンプル入力/出力 [Queen, Aerosmith, Sunny Day Real Estate, The Strokes] -> [Aerosmith, Queen, The Strokes, Sunny Day Real Estate] [The Ramones, The Cure, The Pixies, The Roots, The Animals, Enrique Iglesias] -> [The Animals, The Cure, Enrique Iglesias, The Pixies, The Ramones, The Roots] [The …

26
緊密な言葉
前書き Puzzling SE のRand Al'Thorの投稿によると、緊密な単語とは、アルファベット順で3つの文字を(任意の順序で)含む単語です。 以下のような言葉の教育は、霧笛やキャバレーがすべてのような言葉に対して、緊密な言葉と考えられている学習、クラクションをし、実行していない緊密な言葉です。 チャレンジ 課題は、単一の単語を入力として使用できるプログラムをコードゴルフすることです(すべての意図と目的のために小文字と仮定)。は、結び目の単語であり、結び目の単語でない場合は空の出力です。 例 Input: education Output: cde Input: foghorn Output: fgh Input: cabaret Output: abc Input: hijacking Output: ghi, hij, ijk Input: pneumonia Output: mno, nop Input: klaxon Output: <<no output>> Input: perform Output: <<no output>> Input: learning Output: <<no output>> ルール 入力は単一の小文字の単語であり、出力は小文字でなければならないのに対して、出力の性質はコーディング言語の選択によって異なります。チャレンジの性質、STDOUT、ファイル出力、配列などに最適な出力形式を選択してください。 これはコードゴルフであるため、最も少ないバイト数が明確な勝者である場合になります。 …
22 code-golf  string 

2
仮想キーボードのテキスト入力
現代のゲーム機や従来のキーボードのない他のデバイスでは、テキストを入力しようとするのは悪夢です。仮想キーボードでいくつかのボタンとジョイスティックを使って入力するのは面倒であり、できるだけ少ない動き/ボタンを押すようにします。 使用するキーボードは次のようになります。 +---+---+---+---+---+---+---+---+---+---+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +---+---+---+---+---+---+---+---+---+---+ | q | w | e | r | t | y | u | i | o | p | +---+---+---+---+---+---+---+---+---+---+ | a | …

6
古いスペイン語のアルファベット順
1994年以前は、スペイン語の辞書は特殊なアルファベット順を使用していました:ダイグラフでll、chまるで1文字であるかのように考えられていました。chすぐに続きc、llすぐに続いたl。スペイン語にñ続く文字を追加するnと、順序は次のようになりました。 a, b, c, ch, d, e, f, g, h, i, j, k, l, ll, m, n, ñ, o, p, q, r, s, t, u, v, w, x, y, z 1994年以来llとch(二文字のグループとみなされl、lそしてc、hそれぞれ)、そして従って、アルファベット順に文字を除いて、英語と同じですñ。 古い注文は間違いなくもっと面白かったです。 チャレンジ 0個以上の単語のリストを入力し、古いスペイン語のアルファベット順にソートされたリストを出力します。並べ替えは単語間です(単語内の文字間ではありません)。つまり、単語はアトミックであり、出力にはおそらく異なる順序で同じ単語が含まれます。 単純化するために、私たちは手紙を考慮しないであろうñ、またはアクセント付きの母音á、é、í、ó、ú、または文字の大文字。各単語は、ASCII 97(a)からASCII 122(z)までの包括的範囲から取得した1つ以上の文字のシーケンスになります。 l行に3文字以上ある場合は、左から右にグループ化する必要があります。つまり、lllis lland then l(not land then ll)です。 入力形式には、スペースで区切られた単語、改行、または任意の便利な文字を使用できます。単語は引用符で囲まれていてもいなくても、選択できます。単語のリストまたは配列も受け入れられます。合理的な形式はすべて有効です。あなたの答えにそれを述べてください。 同様に、出力は合理的な形式になります(入力と同じである必要はありません)。 コードゴルフ、最短の勝利。 テストケース 次の例では、単語はスペースで区切られています。1行目は入力、2行目は出力です。 llama …

3
ドットをたどる
チャレンジ 文字の長方形グリッドを考える ABCDE FGHIJ クルムノ PQRST そして、ドットとスペースと同じ寸法のグリッド 。。。 。。。 。。 。。。 左上隅から始まるグリッドをドットでたどって生成される文字列を出力します。この例では次のようになりますABGLQRSNIJE ノート 入力グリッドは、複数行の文字列ではなく、2D配列または言語の最も近い代替物として使用できます。 スペースの代わりに、言語のNULL値を使用できます。ただし、パスをマークするにはドットを使用する必要があります。 同じ行にドットをスペースで区切る必要はありません。読みやすくするために追加しました。 最小のグリッドのサイズは1x1です。 開始点と終了点には、隣人が1人だけいます。それらの間のドットには、常に正確に2つの垂直または水平の隣人がいます。これにより、パスが明確になります。 パスは斜めになりません。 グリッド内の文字は、[a-z]最も便利な範囲内のすべて大文字または小文字のいずれかになります。 パスは常に左上隅から始まります。 ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース グリッド#1 ABCABCW デフフク XLUSDQZ ASUKWXI ウコイム アイアイオープ 。。 。。。 。 。。。。 。 。 => ABEFGSKUSAWA 。。。。。。。 。 。。。。 。。。。 。。 。。。。。。。 => ABCABCWQZIMPUOIAIAWAXLUUK …
22 code-golf  string  grid 

12
文字列から母音をクランチ
タスクの説明 場合によっては、書いているものを小さなスペースに収める必要があります。母音とwrt lk thsを落とすのは魅力的かもしれません-それに失敗すると、誰が本当にスペースを必要としますか?Thssprfctlrdbl!† 小文字の母音を削除しaeiou、次にスペースを入力し、次に入力文字列から任意の文字を削除する関数またはプログラムを作成します。さらに、キャラクターを削除するたびに、そのキャラクターは削除の対象となる右端のキャラクターでなければなりません。文字列が特定の入力長より長くなくなるまで、このプロセスを繰り返す必要があります。 †「これは完全に読み取り可能です!」しかし、この脚注を読んでいるのなら、おそらくそうではないでしょう、本当に... :) 例 ここでは、連続してより小さい入力サイズにこのプロセスが適用されていることがわかります。 23: Hello, Code Golf World! 22: Hello, Code Golf Wrld! 21: Hello, Code Glf Wrld! 20: Hello, Cod Glf Wrld! 19: Hello, Cd Glf Wrld! 18: Hell, Cd Glf Wrld! 17: Hll, Cd Glf Wrld! 16: Hll, Cd GlfWrld! 15: Hll, …
22 code-golf  string 

21
直交方向
タスク:文字の1つだけで構成される入力が与えられた場合、<>^v印刷可能なASCII文字(スペースからチルダまで)で構成される2番目の入力を、矢印の方向に向けて出力します。 プログラムへの2番目の入力がであると仮定しましょうABC。これがすべきことです: 入力>:プリントABC。 入力<:プリントCBA。 入力^:print C\nB\nA、または入力を-90°回転します。 入力v:印刷A\nB\nC、または入力を90°回転します。 テストケース input => \n output --- ">", "thanks!" => thanks! --- "<", "Hello, World!" => !dlroW ,olleH --- "^", "This is text." => . t x e t s i s i h T --- "v", "Tokyo" => T o k y o …
22 code-golf  string 

16
さまざまなプリンターを使用して1〜15を印刷
汎用性のある整数プリンターを作成することは素晴らしいことですが、多くの異なる数字を印刷する単一のコードを書くのは面倒です。数字を出力するだけでなく、次の数字を取得するための新しいスクリプトを作成するスクリプトを作成する方が簡単ではないでしょうか? チャレンジ: 単一の整数Nと実行可能コードを出力するコードを記述します。次のコードが出力さN+1れ、出力可能なコードが出力されますN+2。に到達するまでこのパスを続けますN = 15。(最後に印刷される番号は15でなければなりません)。 ルール: 入力なし(入力が空であると想定)。 完全なプログラムまたは機能、またはその他の便利な形式が許可されています。 最初のコードが出力されるはず1です。 先行ゼロを出力することはできません。あなたは印刷することができませんIE 01のために1。 出力はformatでなければなりませんN, Code_for_N+1。出力はコンマと単一のスペースで区切られていることに注意してください。のコードにN+1は、引用符がありません。 N , Code_for_N+1受け入れられません(コンマの前のスペース)。末尾の改行は問題ありません。 出力の最初の文字は数字でなければなりません。(先行スペースなし、またはans = N)。 印刷された番号は次のコードの一部であってはなりません(コードにはこの番号を含めることができますが、出力番号をコードの一部として使用することはできません) 例:の出力はN=2次のとおり2, printer 2です。この場合、printer 2はのコードですN=3。出力全体を使用することはできません:の2, printer 2コードとしてN=3。 スクリプトは異なる言語である場合があります データ型は関係ありません(数値は文字列でもかまいません)が、何にも囲まれることはできません(引用符、括弧など)。 出力されたコードがある場合は、N=15印刷するかSTOP!(ボーナスを参照)、何も印刷しない(スペースや改行も含めない)必要があります。 のコードN=15はクラッシュできません(ただし、STDERRへの出力は問題ありません)。 N=15プリントの出力コード16またはその他のもの(ボーナスケースを除く)の場合、失格となります。 組み込みのクイン演算子は使用できません。 ファイルシステムを介したソースファイルへのアクセスは許可されていません。 ボーナス: 15を出力するコードが「STOP!」を出力するコードも生成する場合は-10バイト Python構文を使用した例:(明らかに、これらは1〜15ではなく、選択した整数に対してのみ機能します。) N = 1 print "1, print 2" 1, print 2 --- N = 15 …
22 code-golf  string 

15
シーザーシフト
シーザーシフトは、おそらく私たちがよく知っているものです。 (宿題としてもしているかもしれません。もしそうなら、これらの答えをコピーしないでください。先生はほとんど間違いなくここの答えのようなものを望んでいません。) そうでない場合に備えて、シーザーシフトは非常に単純な暗号形式です。暗号化される文字列と整数を取ります。次に、文字列内のすべてのアルファベット文字について、次の変換を実行します。 アルファベットでのキャラクターの位置を調べます(0ベース)。 最初に受け取った整数をその数に追加します。 数が25より大きい間、26を引きます。 アルファベットの位置を確認します。 残りのキャラクターはそのままにしておきます。 大文字のない英語とは何ですか? 例: abcdefghijklmnopqrstuvwxyz 1 -> bcdefghijklmnopqrstuvwxyza Spam spam spam sausage and spam! 13 -> Fcnz fcnz fcnz fnhfntr naq fcnz! abcdefghijklmnopqrstuvwxyz 52 -> abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz -1 -> zabcdefghijklmnopqrstuvwxy ABCxyz 3 -> DEFabc 仮定 印刷可能なASCII文字を受け取る場合があります 入力数は負の値にすることができ、常に-128より大きく128未満になります(-128<x<128) 大文字と非大文字を可逆的にエンコードできる必要があります。 関数やスニペットだけでなく、完全なプログラムを作成する必要があります STDINまたは最も近い代替から入力を取得します 入力の形式を選択できます。これを回答に明記してください シフトする必要がある文字はASCIIコードポイント0x41 - 0x5Aおよび0x61-0x7A-大文字と小文字 …

2
ニュースを読むのは退屈です。助けて!
ニュースが退屈であることは誰もが知っています。本当につまらない。政治家とそのスキャンダルに関するものでない限り。それは楽しいです!しかし、悲しいかな、政治家は非常に多くのスキャンダルを犯すことができます。そこで、ニュースをもっと面白くするためにあなたを雇っています。 目的 HTMLスニペットが与えられたら、ここにあるすべての置換を実行します。つまり、次の図です。 ただし、HTMLタグ自体は編集しないでください。有効な単語とは、HTMLタグまたはその属性内にない単語をいいます。つまり、あなたが代わるべきではない<div class="smartphone">iPhone</div>と<div class="pokedex">iPhone</div>、しかし、交換する必要があります<div>election</div>し<div>eating contest</div>。 解析ルール 編集非単語で区切られた単語のみを一致させる必要があります。つまり、完全な単語のみを一致させる必要があります。(たとえば、「He​​llo witness」と一致しますが、「Hellowitness」、「Hellow itness」、または「Witnesspacelection」とは一致しません。 キーボードで文字を入力できない場合は、最も近いものを表示する必要があります。(たとえば、「スマートフォン」は実際には「ポケデックス」になります) 最初の文字のケースまたはすべての文字のケースを保持する必要があります。(例えば、「彼らは死んだと思われる」は「おそらく金田、彼らは死んだ」、「彼らは死んだと思われる」は「おそらく彼らは死んだ」、「THE ELECTION!」は「THE EATING CONTEST!」、「SpAcE」は「Spaaace」と「nEW STUDY」は「tumblr post」になります) すべてのケースが一致する必要があります。(つまり、大文字と小文字に関係なく、単語を一致させる必要があります。) a <vowel>満たされるインスタンスはすべてan <vowel>、その逆になります。(たとえば、「上院議員」は「エルフの領主」になります)すべてのインスタンスに対してこれを行う必要はありませんが、少なくともあなた自身の交換のために。 複数形もすべて、翻訳で複数形を保持する必要があります(たとえば、「Smartphones」は「pokedex」になり、「Spaces」は「Spaaaces」になります) 特定の時制にあるものはすべて、翻訳時にその時制に残っている必要があります。(たとえば、「再構築」は「復ven」に、「再構築」は「復ven」などになります。) 翻訳では、単数形のすべてが単数形のままでなければなりません(たとえば、「議会の指導者」は「川の精神」になります) エントリが複数のHTML要素にまたがる場合、一致する必要がありますが、中間要素は「破棄」できます。(たとえば、S<b>pa</b>ace単に「spaaace」になるはずです)。エントリが単一の要素内に自己完結している場合、エントリは適切に照合され、タグは保持されます。 「証人」は「私が知っている男」になるはずです 「目撃者」は「私が知っているこの男」になるはずです 「証人」は「私が知っているあの男」になるはずです 「コメントが届かない」は「有罪であり、誰もが知っている」になります。 「コメントが届かない」は「有罪であり、誰もが知っている」になります ボーナス -N%ボーナスに出会ったら、あなたのnew amount = (old amount) * (1 - N/100)。だから、あなたが満たされた場合に-5%500バイトコードとボーナスを、あなたnew amount = 500 * (1 - 5/100) = 500 …
22 code-golf  string 

3
ゴルフストリングス
文字列圧縮を必要とするkolmogorov-complexityの課題に対する答えを出すことができませんでした。主な理由は、文字列圧縮ツールを必要以上に効果的に使用することを知らないためです。 このため、この質問を投稿しました。私の他のヒントの質問とは異なり、これは言語固有の意味ではありません。自分の言語でヒントを考えることができる場合は、投稿することができます(言語を指定する場合)。一般的なヒントも歓迎します。 それでは、文字列圧縮ツールを最大限に有効に使用するにはどうすればよいですか?

14
リンドンの単語を確認する
リンドン・ワードは厳密である文字列で辞書順で小さいその環状の回転のいずれよりも。バイナリ文字列が与えられたら、それができるだけ少ないバイト数のリンドン語かどうかを判断します。 たとえば001011、Lyndonの単語です。以下にリストされているその回転は、最初のシンボルを最後まで繰り返し移動することによって取得されます。 001011 010110 101100 011001 110010 100101 これらのうち、元の文字列は辞書的に最初に来るか、同等に、最小のバイナリ数を表します。 ただし、001001Lyndonの単語ではありません。これは、その回転の1つがそれ自体と同じであるため、辞書的に最も早いものに結び付けられているためです。 関連する問題。 入力:空でないバイナリ文字列または数字0とのリスト1。を表すために数字を使用することはできません。5101 出力:文字列がリンドン語かどうかを示す一貫したTruthyまたはFalseyの値。 Lyndonの単語専用のビルトインは許可されていません。 テストケース: 最大6文字のリンドン語は次のとおりです。 0 1 01 001 011 0001 0011 0111 00001 00011 00101 00111 01011 01111 000001 000011 000101 000111 001011 001101 001111 010111 011111 4までの長さの非リンドン語は次のとおりです。 00 10 11 000 010 100 101 110 111 0000 …
22 code-golf  string 

28
真実を逆にする
次のプログラムまたは関数を作成します。 stdioまたは引数から文字列を受け取ります truewith falseおよびfalsewithのすべての出現を置き換えますtrue それが逆になりますが、逆にしないtrueとfalse 結果を返すか出力します 例(左側が入力): "true" "false" "2false" "true2" "true is false" "true si false" "false,true,undefined" "denifednu,false,true" "stressed-false" "true-desserts" "falstrue" "falseslaf" "true false true x" "x false true false" 標準の抜け穴が適用されます。これはcode-golfなので、バイト単位の最短コードが優先されます。 リーダーボード コードスニペットを表示 var QUESTION_ID=63256,OVERRIDE_USER=20569;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var …


9
シーザーサイファーマニア
シーザーサイファーは、各文字が固定された(AとZの周りにループ)オフセットだけシフトされた非常に単純な換字式暗号です。同様に、印刷可能なASCII文字のセットに対してCaesar暗号を使用することもできます。これらは、コードポイント0x20から0x7Eまでの95文字です。与えられたoffsetに対してd、コードポイントCを (C - 32 + d) % 95 + 32 これは、すべての文字をaだけシフトdし、~からスペースにループします。この範囲外の文字(改行、タブ、ASCII範囲外の文字などの制御文字)は影響を受けません。 オフセットdと文字列をとる2つのプログラムまたは関数を(場合によっては異なる言語で)作成します。最初のプログラムは、入力のシーザー暗号を返すか印刷する必要があります。2番目のプログラムは、逆シーザー暗号を返すか印刷する必要があります(つまり、offsetを使用-d)。STDIN、コマンドライン引数、または関数引数を介して入力を受け取ることができます。 物事をより面白くするために、2番目のプログラムは最初のプログラムのシーザー暗号でなければなりません。つまり、最初のプログラムのソースコードを自身に渡す場合、ゼロ以外のオフセットのd場合、出力は2番目のプログラムでなければなりません。 両方のプログラムと入力文字列には、印刷可能なASCII文字、改行、タブのみを含める必要があります。どちらのプログラムにもコメントを含めたり、独自のソースコード、ファイル名、プロセスIDを直接または間接的に読み取ることはできません。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。両方のプログラムのサイズは同じである必要があるため、カウントする必要があるのは一度だけです。

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