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

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

21
ハッピーベーコンデー!
今日はベーコンの日で、おそらく今日参加するための帽子の名前は「Mmmm Bacon」です。ベーコンで作られた楽しい2Dマトリックスで、ベーコンの日を祝うのにこれほど素晴らしい方法はありません!1 x 1のベーコンストリップは次のように表されます。 ----- )===) (===( )===) ----- ここでの目標は、タプルの2つの座標(x、y)を与えられ、ここでxとyはゼロ以外の正の整数です。ベーコンを作成し、何らかの形式(リスト、配列、文​​字列)で返します。 入出力: Input: (2, 1) Output: ---------- )===))===) (===((===( )===))===) ---------- Input: (1, 2) Output: ----- )===) (===( )===) ----- )===) (===( )===) ----- Input: (2, 2) ---------- )===))===) (===((===( )===))===) ---------- )===))===) (===((===( )===))===) ---------- ルール: 2番目のテストケースでわかるように、複数のベーコンが積み重ねられている場合、-----各ベーコンが上下に分かれているのは1つだけです。つまり、このようなベーコンの積み重ねは無効です。 ----- )===) (===( …

17
猫はニャー、牛はムーに行く
猫が鳴くのは誰もが知っていますが、多くの人が気付いていないのは、caaaatがmeeeeooooowに行くことです。実際、猫が発する母音の長さは、あなたがそれに対応する母音の長さに依存します。 同じように、牛はモーになりますが、クーはムーになります。 チャレンジ 入力として猫を意味する単語と牛を意味する単語を受け取り、主母音の数を決定し、必要に応じて次の文字列のいずれかを出力するプログラムを作成します。 C[]ts go M[]w C[]ws go M[] []以下は、母音を表す場所です。 「ニャー」のeとoの数は、両方とも入力語で見つかった母音の数と一致する必要があります。 「Moo」のoの数は、入力語で見つかった母音の数の2倍でなければなりません。 プログラムは入力語catとを認識しなければなりませんcow。入力には最も便利な大文字を使用できますが、出力は上記のとおり正確に大文字にする必要があります。
40 code-golf  string 

24
テキストをセンタリング!
テキストをセンタリング! この課題では、さまざまな線を中央に配置します。 例 Foo barbaz Foo barbaz Hello World Hello World Programming Puzzles & Code Golf Programming Puzzles & Code Golf 仕様書 各入力行には常に少なくとも1つの非空白文字が含まれます。空白文字はスペース()と改行のみであると想定できます。各入力行には、末尾の空白や先頭の空白はありません(改行を除く)。出力の末尾の空白は許可されません。 入力の最も長い行の中央に配置する必要があります。その行の長さが偶数の場合、プログラム/関数は左に中央揃えすることを選択する必要があります。行の最大長は言語で処理できるものであれば何でもかまいませんが、プログラムは少なくとも500行の行で機能する必要があります。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes …

30
2016年の明けましておめでとうございます!
入力は1970年から2090年までの整数で、1年を表します。プログラムは、入力された年と同じ曜日に新年が当たる翌年を出力する必要があります。 テストケース: 以下はサンプルの入力と出力です 2001 => 2007 2047 => 2058 2014 => 2020 1970 => 1976 1971 => 1982 1977 => 1983 2006 => 2012 20%ボーナス:元旦の曜日を出力します 2001 => 2007 (Mon) 2047 => 2058 (Tue) 2014 => 2020 (Wed) 1970 => 1976 (Thu) 1971 => 1982 (Fri) 1977 => 1983 (Sat) 2006 …

18
アヒル、アヒル、消えた!
これは(非常に怖い)5つの小さなアヒルの歌です(長くはありません): Five little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only four little ducks came back. Four little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only …
40 code-golf  string 

27
違いは変わらないはず
あなたの会社は最近、非常に熱心な新しいシステム管理者を雇いました。彼らは、コンピューターの画面を見るだけではかなり制限があると感じているので(つまり、60Hzのリフレッシュレートでは不十分です)、CPUデータバスをDACに接続し、サーバールームを介してスピーカーで再生して聞くことができます20kHzまで。1つの問題:彼らは電気技師ではなく、システム管理者であり、スピーカーのセットアップが壊れ続ける。ソフトウェアエンジニアがメインフレームでコンパイルするコードのバイト値の急激な変化が原因であると彼らは考えた。システム管理者は、スピーカーのセットアップに最も優しいコードを誰が作成できるかを確認するために、少し競争を行っています。 チャレンジ あなたの使命は、連続するバイト間で可能な限り差のない、選択した言語でプログラムまたは関数を作成することです(計算セクションを参照)。このプログラムには、独自のスコアを計算するタスクがあります。 入力 ASCII文字列、stdinまたは言語に最も近いもの、または関数を作成する場合は関数入力として。プログラムはスコアを計算するための入力として自分自身を取得する必要があるため、プログラムにUnicodeが含まれている場合は、Unicodeをサポートする必要があります。それ以外の場合は、ASCIIで十分です。入力は少なくとも2バイト長であると想定できます。 計算 文字列の各文字は、ASCII標準を使用して、同等の数値に変換されます。次に、すべての文字の差が最初に2乗されてから合計されます。たとえば、文字列abdはのスコアを取得し1²+2²=5ます。 出力 出力はエントリのタイトルになります。つまり、先頭に#改行を付けるか、改行と-ダッシュ(ダッシュ)を追加する必要があります。次に、プログラミング言語の名前を出力し、その後にコンマ、スペース、計算結果を表す整数を出力します。例えば #C++, 98 有効な出力になります。出力はstdout、言語または同等の最も近い言語で、または関数の戻り値として提供する必要があります。 得点 スコアは、プログラムによって計算された値になり、プログラム自体が入力になります。 編集:今すぐ改行を処理する必要があります。 ここではスコア計算を検証するPythスクリプトです。

21
レーベンシュタイン距離
このような編集距離の質問は数多くありますが、レーベンシュタイン距離を計算するプログラムを書くのは簡単な質問ではありません。 博覧会 2つの文字列間のレーベンシュタイン編集距離は、1つの単語を別の単語に変換するための挿入、削除、または置換の可能な最小数です。この場合、挿入、削除、および置換の各コストは1です。 例えば、間の距離rollとは、rolling削除が1のコスト、そして私たちは3 characterrsを削除する必要があるため、3です。置換のコストは1なので、tollとの間の距離はtall1です。 ルール 入力は2つの文字列になります。文字列は小文字で、文字のみを含み、空ではなく、最大100文字の長さであると想定できます。 出力は、上記で定義したように、2つの文字列の最小レーベンシュタイン編集距離になります。 コードはプログラムまたは関数でなければなりません。名前付き関数である必要はありませんが、レーベンシュタイン距離を直接計算する組み込み関数にすることはできません。他のビルトインが許可されます。 これはコードゴルフであるため、最短の答えが勝ちます。 いくつかの例 >>> lev("atoll", "bowl") 3 >>> lev("tar", "tarp") 1 >>> lev("turing", "tarpit") 4 >>> lev("antidisestablishmentarianism", "bulb") 27 いつものように、問題が不明な場合はお知らせください。幸運と良いゴルフ! カタログ var QUESTION_ID=67474;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else …
39 code-golf  string 

30
私は宇宙船の浮浪人を作りました!
前書き: 触発さのこのコメント@MagicOctopusUrn上@Emignaの05AB1E答え私のために『それはただのバグだったの挑戦』: 8F9ÝÀNð×ý}».∊私は宇宙船の浮浪人を作りました!そして、私は皆、12バイトの編集を提案することに興奮していました。– 魔法のタコUr 17年7月17日20:10 これは05AB1E(レガシー)プログラムであり、次の結果になります。 1234567890 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 …

30
私のメールをマークしてください!-ASCIIバーコード
4ステートバーコード 多くの郵便サービス(英国郵政、カナダ郵便、米国郵便など)は、4州のバーコードを使用して郵便に関する情報をエンコードします。ASCIIでレンダリングされると、次のようになります。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4ステートバーコードはバーの列です。各バーは上向き、下向き、またはその両方に延長でき、4つの可能性があります。これは、各バーが基本的に4桁を表すことを意味します。 | | バー:| | | | | | 数字:0 1 2 3 …

13
579085261はCRAZY、725582はGOLF、10757494は…?
あなたの仕事は、以下で説明する方法を使用して、103の滑らかな数値を英語の単語に翻訳することです。 どうやって? 入力数の素因数のリスト(繰り返しあり)を生成します。 リストを並べ替える: 2が素因数の1つでない場合は、リストを昇順で並べ替えます。 2が主要因の1つである場合、リストから2を削除し、残りの要因を降順に並べ替えます。 次の表を使用して、各要素を文字に変換します。 3 = S 13 = L 29 = X 43 = O 61 = Z 79 = H 101 = K 5 = P 17 = Q 31 = N 47 = R 67 = T 83 = V 103 = Y 7 …

22
Natural Pi#0-ロック
ゴール 入力を受け取るプログラム/関数を作成し、整数のランダムなペアが比較的素数であるNかどうかを確認しN、を返しますsqrt(6 * N / #coprime)。 TL; DR これらの課題は、Piを概算するために自然と脳(およびおそらく再利用可能なリソース)のみを必要とするアルゴリズムのシミュレーションです。ゾンビの黙示録中に本当にPiが必要な場合、これらの方法は弾薬を無駄にしません!さらに8つの課題があります。推奨事項を作成するには、サンドボックスの投稿をチェックしてください。 シミュレーション 何をシミュレートしていますか?さて、2つのランダムな整数が比較的素数(すなわち、コプライムまたはgcd == 1)である確率は6/Pi/Piです。それらを数える; gcdが1 かどうかを確認します。繰り返す。これを数回繰り返した後、sqrt(6.0 * total / num_coprimes)に向かう傾向がありPiます。黙示録的な世界で平方根を計算するのが不安になっても心配しないでください!そのためのニュートン法があります。 これをどのようにシミュレートしますか? 入力してください N 次のN時間を実行します。 ランダムな正の整数を均一に生成しi、j と 1 <= i , j <= 10^6 もしgcd(i , j) == 1:result = 1 その他: result = 0 N結果の合計を取り、S 戻る sqrt(6 * N / S) …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

29
レディングに乗って、Goをパスしたら$ 200を集める
モノポリーボード このコードゴルフの挑戦のために、ボードゲームMonopolyを構築します。 ルール: 入力なし。 ボードを形成する各ASCII文字が米国版モノポリーボードの各スペースの最初の文字である11x11ボードを出力します。 文字はスペースで区切る必要があります。 Go 右下から開始する必要があります。 生成する正確な文字列は F K C I I B A V W M G N P T N C C S P P S V C S P E L S B J C V C O R I B C M G 右下から左下に向かって正方形が次のようになっていることに注意してください。 …

30
文字列の分解図
機械やオブジェクトを最小の断片に分解した分解図が好きではありませんか? それを文字列にしましょう! チャレンジ 以下のプログラムまたは関数を作成します 印刷可能なASCII文字のみを含む文字列を入力します。 文字列を非スペースの等しい文字(文字列の「断片」)のグループに分割します。 これらのグループを便利な形式で出力します。グループ間にはセパレータがあります。 たとえば、与えられた文字列 Ah, abracadabra! 出力は次のグループになります。 ! 、 A ああああ bb c d h rr 出力の各グループには、スペースが削除された等しい文字が含まれています。グループ間の区切り文字として改行が使用されています。許可されている形式については、以下をご覧ください。 ルール 入力は、文字列または文字の配列であるべきです。印刷可能なASCII文字(スペースからチルダまでの範囲)のみが含まれます。ご使用の言語でサポートされていない場合は、ASCIIコードを表す数字の形式で入力を取得できます。 入力には少なくとも1つの非スペース文字が含まれると想定できます。 出力は、からなるべき文字(入力がASCIIコードによるものである場合でも)。グループ間には、入力に現れるスペース以外の文字とは異なる明確な区切り文字が必要です。 出力が関数の戻り値を介している場合、配列または文字列、または文字の配列の配列、または同様の構造体である可能性があります。その場合、構造は必要な分離を提供します。 各グループの文字間の区切り文字はオプションです。ある場合、同じルールが適用されます。入力に現れる可能性のあるスペース以外の文字は使用できません。また、グループ間で使用されるのと同じセパレーターであってはなりません。 それ以外は、フォーマットは柔軟です。ここではいくつかの例を示します。 上記のように、グループは改行で区切られた文字列です。 グループは、などの非ASCII文字で区切ることができます ¬。上記の入力の出力は文字列になります。 !¬,¬A¬aaaaa¬bb¬c¬d¬h¬rr グループはn > 1スペースで区切ることができます(nが可変であっても)。各グループ間の文字は1つのスペースで区切られます。 ! , A a a a a a b b c d h r r …
39 code-golf  string 

30
文字列を削除する
多くの言語には、重複を取り除く、またはリストまたは文字列を「重複排除」または「一意化」する組み込みの方法があります。あまり一般的ではないタスクは、文字列を「削除」することです。つまり、表示されるすべての文字について、最初の2つの出現が保持されます。 削除する必要がある文字にラベルが付けられている例を次に示します^。 aaabcbccdbabdcd ^ ^ ^^^ ^^ aabcbcdd あなたの仕事は、まさにこの操作を実装することです。 ルール 入力は単一の、場合によっては空の文字列です。ASCII範囲の小文字のみが含まれていると想定できます。 出力は、文字列に少なくとも2回出現したすべての文字が削除された単一の文字列である必要があります(したがって、左端の2つの出現は保持されます)。 文字列の代わりに、文字のリスト(またはシングルトン文字列)を使用できますが、形式は入力と出力の間で一貫している必要があります。 プログラムまたは関数を作成し、入力を受け取り出力を提供する当社の標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース 行の各ペアは1つのテストケースであり、入力の後に出力が続きます。 xxxxx xx abcabc abcabc abcdabcaba abcdabc abacbadcba abacbdc aaabcbccdbabdcd aabcbcdd リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 3 (-p …

24
ドットとコンマのタイムマーカーを備えたASCIIクロック
前書き 文字の行が実際には2行であると想像してください。上の行-ドット-は時間(24時間制)を表し、下のコンマ-は分を表します。1文字は、可能な場合はいつでも、時間、分、または両方を表すことができます。 最初はおそらく真夜中から分を時間と分に変換しなければならないでしょう。 結果は、現在の時刻を「ドット形式」で示す文字列です。ドットカウント(アポストロフィはここではドットとしてカウントされ、そう呼ばれます!)は真夜中からの時間カウントであり、コンマカウントは分カウントです。明確にするためにいくつかの例を示します。 (備考)hh:mm- result (時間のみ)05:00- ''''' (数分のみ)00:08- ,,,,,,,, (時間<分)03:07- ;;;,,,, (時間>分)08:02- ;;'''''' (時間=分)07:07- ;;;;;;; (その日の始まり)00:00- (空の結果) 「両方」の文字は最大23回使用できることに注意してください-23:xxの場合、xxは23以上です。 記号 あなたの言語で文字をエスケープする必要がある場合(ルール5を参照)、それを代替の1つに変更できます。上記の選択肢では不十分な場合は、他の記号を使用できますが、合理的なものにしてください。逃げることが障壁になりたくないのです。 ;(セミコロン) -時間と分の両方のマーカー(ALT: :) '(アポストロフィ) -時間のマーカー(ALT: '``°) ,(カンマ) -分間のマーカー(ALT: .) 追加のルール 最小バイト数のコードが勝ちです! 可能な限り両方のシンボルを使用する必要があります。02:04の場合、結果は'',,,,、またにはなりません;',,,。でなければならない;;,, 入力-スクリプト/アプリパラメーター、ユーザー入力(readlineなど)、またはコード 3.1 内の変数を使用できます。コード内の変数を使用する場合、その長さは可能な限り長くする必要があります。それはだ1439、それは次のようになりますので、(午後11時59分)t=1439 「両方」の文字(12:05の12、03:10の3)で象徴される共通部分は、文字列の先頭に配置する必要があります 記号は、コード内でエスケープする必要がある場合にのみ代替に置き換えることができます。 入力は00:00以降の分単位で与えられます。これは負でない整数であると仮定できます。 テストケース Input: 300 Output: ''''' Input: 8 Output: ,,,,,,,, Input: 187 …
39 code-golf  string  clock  time 

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