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

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

30
"こんにちは世界!"
だから...ええと...これは少し恥ずかしいです。しかし、「Hello、World!」という単純なものはありません。まだ挑戦しています(35個のバリアントがhello-worldでタグ付けされ、カウントされています)。これは一般的な言語で最も興味深いコードゴルフではありませんが、特定のエソランで最短の解決策を見つけることは深刻な課題です。たとえば、私の知る限り、可能な限り最短のBrainfuckソリューションがまだ見つかっているかどうかはわかりません。 さらに、すべてのウィキペディア(ウィキペディアのエントリは削除されていますが、archive.orgにコピーがあります )で、エソランとロゼッタコードには「Hello、World!」のリストがあります。プログラム、これらのどれも各言語の最短時間に興味がありません(このGitHubリポジトリもあります)。コードゴルフコミュニティの重要なサイトになりたい場合は、最短の「Hello、World!」の究極のカタログを作成してみてください。プログラム(基本的なクインチャレンジに、さまざまな言語で知られている最短のクインが含まれていることに似ています)。それでは、これをしましょう! ルール 各提出は完全なプログラムでなければなりません。 プログラムは入力Hello, World!を受け取らず、STDOUT(大文字と句読点を含むこの正確なバイトストリーム)に加えて、オプションの末尾の改行のみを出力します。 プログラムは、STDERRに何も書き込まないでください。 空のプログラムが印刷する言語を作成することでこれを悪用したい人はHello, World!、おめでとう、彼らは非常に退屈な答えへの道を開いただけです。 提出物をテストできるように、通訳が必要であることに注意してください。以前に実装されていない言語用にこのインタープリターを自分で作成することは許可されています(さらには推奨されています)。 送信は、適切な(既存の)エンコーディングで、通常(必ずしもではありませんが)UTF-8 で、バイト単位でスコアリングされます。Foldersのような一部の言語は、スコアを付けるのが少し難しいです。疑問がある場合は、Metaで質問してください。 これは、「Hello、World!」という最短の言語を見つけることではありません。プログラム。これは、最短の「Hello、World!」を見つけることです。すべての言語のプログラム。したがって、回答を「承認済み」としてマークしません。 選択した言語が、すでに回答を持っている別の(潜在的により人気のある)言語の些細な変形である場合(BASICまたはSQL方言、Unixシェル、またはAlphuckのような些細なBrainfuck派生語を考えてください)、既存の回答にメモを追加することを検討してください同じまたは非常に類似したソリューションは、他の言語でも最短です。 サイドノートとして、ゴルフにそれほど多くない言語で退屈な(しかし有効な)答えに投票しないでください-可能な限り完全なカタログをコンパイルしようとするので、これらはまだこの質問に役立ちます。しかし、著者が実際にコードをゴルフすることに努力しなければならなかった言語では、主に回答を支持してください。 インスピレーションについては、Hello World Collectionを確認してください。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [><>](https://esolangs.org/wiki/Fish), 121 bytes …

30
文字列を暗号化する
このチャレンジでは、正規表現^[a-zA-Z]+$または妥当なものに一致する文字列を取得する必要があります(必要に応じて大文字または小文字を考慮する必要はありません)(文字列が十分に長く、すべての操作)、および別の文字列を出力します"Despite the constant negative press covfefe"。これは、POTUS()による最近のダダイストのツイートの最後の単語と同様に生成されます。 文字列をcoffefifyする方法: 最初に、最初のサウンドグループ(用語で構成)を取得します。 これどうやってやるの?まあ: 最初の母音を見つける(母音yでもあります) v creation その後に最初の子音を見つける v creation 残りの文字列を削除します creat それがあなたの最初のサウンドグループです。 次のステップ: サウンドグループの最後の子音を取得する t 有声バージョンまたは無声バージョンに置き換えます。これを行うには、この表の文字を見つけます。指定された文字に置き換えます(同じ文字の場合があります) b: p c: g d: t f: v g: k h: h j: j k: g l: l m: m n: n p: b q: q r: r …
371 code-golf  string 

1
自分自身にのみ一致する正規表現
正規表現に関連するかなりクールな課題がいくつかあります(自己一致正規表現、正規表現検証正規表現) これはおそらく不可能かもしれませんが、それ自体にのみ一致する正規表現はありますか? 注:区切り文字を含める必要があります。 例えば/thing/一致しなければならない/thing/とありませんthing。式で可能な唯一の一致は、式自体でなければなりません。多くの言語では、正規表現の代わりに文字列を実装できます。たとえば、Go package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } しかし、チャレンジのために、引用符を区切り文字として議論したい場合は、表現を区切り記号(開始記号、表現、終了記号ex:/fancypantpattern/または@[^2048]@)にしてください。この問題の明らかな難しさを考えると、それほど大きな違いは生じないと思います。 あなたを助けるために: rubular.com(ruby regex編集用のWebページ)にまとめたクイックハック: var test = document.getElementById("test") ,regex = document.getElementById("regex") ,delimiter="/" ,options = document.getElementById("options") ,delay = function(){test.value = delimiter + regex.value + delimiter + options.value} ,update = function(e){ // without …

8
UpgoatまたはDowngoat?
ヤギの画像が与えられた場合、プログラムはヤギが逆さまになっているかどうかを特定するのが最善です。 例 これらは入力が何であるかの例です。実際の入力ではありません 入力: 出力: Downgoat スペック プログラムは最大30,000バイトである必要があります 入力には完全なヤギが含まれます 写真には常にヤギが含まれます ヤギが逆さまの場合、output Downgoat、そうでない場合Upgoat ただし、入力は画像として入力できます(ファイル名、画像のbase64など)。 「Upgoat」または「Downgoat」を含む画像名またはその他のメタデータに依存しないでください。要点のファイル名は参照用です。 ハードコードしないでください。それは退屈だ、私はそれを完全に強制することはできませんが、私はうまく尋ねることができます。 テストケース 画像の要点。で始まる画像にdowngoatはDowngoat出力があり、で始まる画像にupgoatはUpgoat出力があります。 テストケースの2番目のバッチ すべてのテストケースで画像をテストしてください。これらの画像はjpgsです。画像サイズは異なりますが、それほど大きくはありません。 注:回答を受け入れる前にいくつかのテストケースを追加して、ハードコードする回答を回避し、プログラムの一般的なパフォーマンスを確認することができます。 アバターを正しく取得するためのボーナスポイント:P 得点 スコアは次の方法で計算できるパーセントです: (number_correct / total) * 100

30
いいえ、ただCaps Lock
CapsLockキーボードのキーにノッチがない場合はどうなりますか? 「このhPPENS。」 このプログラムの目標は、各Aプレスがに置き換えられるキーボードミスを一貫してエミュレートすることCapsLockです。ソースの大文字の「A」でも同じ効果が得られます。ときにCapsLock有効になり、総額が逆転しています。 テストケース "The quick brown fox jumps over the lazy dog." -> "The quick brown fox jumps over the lZY DOG." "Compilation finished successfully." -> "CompilTION FINISHED SUCCESSFULLY." "What happens when the CapsLock key on your keyboard doesn't have a notch in it?" -> "WhT Hppens when the …

27
雪だるまをコーディングしますか?
これは簡単なASCIIアート雪だるまです: _===_ (.,.) ( : ) ( : ) 彼に友達を作りましょう。これは、ASCIIアートsnowpeopleの一般的なパターンです。 HHHHH HHHHH X(LNR)Y X(TTT)Y (BBB) 先頭のスペースと括弧は、すべての雪だるまで常に同じです。異なる文字は、個別に変更できるパターンのセクションを表します。各セクションには、ASCII文字で埋めることができる正確な4つのプリセットがあります。8つのセクションすべてでこれらのプリセットを組み合わせて一致させることで、さまざまな雪の人を作ることができます。 すべてのプリセット (スペースが他の空の行に置かれているため、セクションの形状は常に正しいことに注意してください。) Hは帽子 麦わら帽子 _===_ メキシカンハット ___ ..... フェズ _ /_\ ロシアの帽子 ___ (_*_) Nは鼻/口用 普通 , ドット . ライン _ 無し Lは左目用 ドット . 大きいドット o 最大のドット O 閉まっている - Rは右目用 (左目と同じリスト。) Xは左腕用 …

30
数学は事実です。プログラミングは
数学では、感嘆符は!しばしば階乗を意味し、議論の後に来ます。 プログラミングでは、感嘆符は!しばしば否定を意味し、それは議論の前に来ます。 この課題では、これらの操作をゼロと1にのみ適用します。 Factorial 0! = 1 1! = 1 Negation !0 = 1 !1 = 0 ゼロ個以上の文字列を取る!「が続いS、0または1ゼロ個以上続く、!S」を(/!*[01]!*/)。 たとえば、入力は!!!0!!!!or !!!1または!0!!or 0!または1です。 or !の前の' は否定で、'の後は階乗です。01! 階乗は否定よりも優先順位が高いため、階乗が常に最初に適用されます。 例えば、!!!0!!!!真の意味!!!(0!!!!)、あるいはいっそ!(!(!((((0!)!)!)!)))。 すべての階乗と否定の結果のアプリケーションを出力します。出力は常に0またはになり1ます。 テストケース 0 -> 0 1 -> 1 0! -> 1 1! -> 1 !0 -> 1 !1 -> 0 !0! -> 0 !1! …

30
トリックオアトリートポリグロット
ハロウィーンが近づいているので、私は楽しい小さなコードのゴルフチャレンジを始めるかもしれないと思いました! 課題は非常に簡単です。trickまたはを出力するプログラムを作成する必要がありtreatます。 「ひねり?」あなたが尋ねることができます。よく説明させてください: あなたのプログラムは次のことをしなければなりません: 2つの異なる言語でコンパイル/実行可能。同じ言語の異なるバージョンはカウントされません。 1つの言語でプログラムを実行するtrickと、出力され、もう1つの言語で出力されますtreat。大文字と小文字は区別されず、文字列に空白文字を埋め込むことは許可されています(例を参照)。 これはcode-golfであるため、バイト数が最も少ないソリューションが優先されます。 いくつかの説明: 有効な出力(2つの言語でコードを実行するためではなく、出力の開始または終了を示す引用符を追加します。これらをソリューションに含めないでください!): "trick" "Treat" " TReAt" " tRICk " 無効な出力: "tri ck" "tr eat" "trck" 私はあなたが思い付くことができるものを見て興味があります!ハッピーゴルフ! これが私の最初の挑戦であることに注意したいので、この質問に関する提案があればコメントの形で残してください。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes …

30
「グーグル」をグーグルしないでください
「グーグル」という言葉をグーグルで検索すると、インターネットが切断されることは周知の事実です。 あなたの仕事は、1つの文字列を受け入れ、その長さを可能な限り少ないUnicode文字で返す関数を作成することです。 ただし、指定された文字列がgoogle(小文字)の場合、エラーが発生します。 たとえば、g('bing')返されます4が、g('google')エラーが発生します。 使用例と、可能であればエラーを提供してください。
158 code-golf  string 

30
1、2、フィズ、4、バズ
前書き 標準プログラミング演習用の最短ソリューションのカタログを収集するための最近の取り組みで、PPCGの最初のバニラFizzBu​​zzチャレンジがここにあります。他のカタログの課題を見たい場合は、「Hello World!」があります。そして「この数は素数であります?」。 チャレンジ 1から100までの10進数を出力するプログラムを作成します。しかし、3の倍数の場合は数字ではなく「フィズ」、5の倍数の場合は「バズ」が印刷されます。3と5の両方の倍数である数字の場合、「FizzBu​​zz」と印刷します。 出力 出力は、改行(\nまたは\r\n)で区切られた数字(およびFizzes、Buzzes、FizzBu​​zzes)のリストになります。末尾の改行は使用できますが、先頭の改行は使用できません。改行の選択とは別に、出力は次のようになります。 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 …

30
こんにちは世界!(他のすべてのキャラクター)
「Hello、World!」を出力するプログラムを作成します。ただし、プログラムの最初、3番目、5番目などの文字のみを使用する場合も、結果のプログラムは「Hello、World!」を出力するはずです。 プログラムが次の場合: abc def 「Hello、World!」と出力されるはずですが、そうであるべきです acdf 2文字未満のソリューションはありません。

30
ラ・ラ・ランド…待てない、Moo Moo Moonlight
このチャレンジは、オスカー2017のベストピクチャーの勝者、La La Land Moonlightへのオマージュです! 文字[A-Za-z]、毎日の文.,'?とスペースに共通する4つの記号 のみを含む文字列を受け取り、La La Landのスタイルで文字列を出力する関数/プログラムを作成します。 具体的には、最初の母音グループまでの文字を取得し、毎回スペースを追加して2回印刷/出力してから、文字列全体を印刷/出力します。yは、この課題の母音です。句読点と大文字を使用する必要があります。 すべての文字列に少なくとも1つの母音が含まれ、すべての文字列が文字で始まると仮定できます。 テストケース: Land La La Land Moonlight Moo Moo Moonlight quEueIng quEueI quEueI quEueIng This isn't a single word. Thi Thi This isn't a single word. It's fun to play golf I I It's fun to play golf Ooo Ooo Ooo …
122 code-golf  string 

30
お気に入りのプログラミング言語にハッピーバースデーを歌います
お気に入りのプログラミング言語は誕生日を迎えたばかりです。素敵になり、ハッピーバースデーの歌を歌ってください。 もちろん、その言語でプログラムを書くことでこれを達成する必要があります。プログラムは入力を受け取らず、次のテキストを標準出力または任意のファイルに書き込みます。 Happy Birthday to You Happy Birthday to You Happy Birthday Dear [your favourite programming language] Happy Birthday to You 括弧で囲まれた部分を置き換える必要があります(括弧を省略します)。 これはコードゴルフです。最短のコードが勝ちます。 更新 この質問が大きな関心を呼んだことを嬉しく思います。スコアリングに関する追加情報を追加しましょう。もともと述べたように、この質問はコードゴルフであるため、最短のコードが勝ちます。勝者は今週の終わり(10月19日)に選出されます。 しかし、私はまた、他の機知に富んだ提出物に高額の投票で報います(そして、私も皆にそうすることを勧めます)。したがって、これはコードとゴルフのコンテストですが、それほど短くない回答も歓迎します。 結果 このコンテストの勝者であるオプティマイザー、おめでとう、42バイトの長さのCJam 提出。

30
出て投票する
今日は2016年11月8日、アメリカ合衆国の選挙の日です。 あなたが投票する資格のある米国市民である場合、この挑戦に答える前にまだ出ていないなら投票してください。誰に投票したかについて話し合ってはいけません。重要なのはあなたが投票したことだけです。 あなたが米国市民でないか、投票する資格がない場合、この挑戦​​に答える前に、あなたが知っている人に誰が外に出て投票していないかを告げることで米国に賛成してください。 チャレンジ デジタルの「I Voted」ステッカーのように、投票したことを示すプログラムを作成します。 それは、フレーズ合理的な方法には、入力およびマスト出力を取るべきではないI Voted場合I、oおよびe(赤#FF0000)とV、t及びd(青#0000FF)。背景は白(#FFFFFF)でなければなりません。 例えば: これらの色は、もちろんアメリカの国旗を表しています(公式の色ではありません)。赤が最初に来るのは、それが一般的なイディオム「赤白と青」で最初に来るからです。 有効であるためには、答えが以下でなければなりません。 指定された配置で指定された色を使用します。 読みやすい単一のフォントとフォントサイズを使用します。この例では、72pt Times New Roman太字を使用していますが、6ptを超える一般的なフォントはおそらく問題ありません。 2つの単語の間に明確なスペースを入れて、フレーズI Votedを1行に正確に大文字で入力します。のように見えるべきではありませんIVoted。 回答者が大統領またはダウンバロットのレースに誰を投票したか、支持したかを示していない。インターネットの議論を始めないようにしましょう。これは、候補者ではなく投票を祝うことです。 次のように、出力を表示または生成する合理的な方法が有効です。 テキストを画像に描画し、それを表示、保存、または生で出力します。 色の書式設定を使用してコンソールにテキストを書き込む。この場合、必要に応じて純粋な赤と青に近づけることができます。テキストの真後ろの領域のみを白にできるのであれば問題ありません。 WPF / Windowsフォームにテキストを表示します。 テキストを含むHTML / RTF / PDFファイルを出力します。 出力の画像を投稿してください。 バイト単位の最短回答が優先されます。

30
私は回文です。あなたは?
この質問をするための以前の 試みがいくつかありましたが、どちらもこのサイトの最新の標準に準拠していません。Metaについての議論ごとに、現代のルールセットの下で公正な競争を可能にする方法で再投稿しています。 バックグラウンド 回文は、文字列の逆列自身と同じである。すなわち、「後方同じ前方とを読み込む」という文字列です。ここでは「便利な回文」についてではなく、厳密な文字ごとの反転について説明しています。たとえば、()()回文ではありませんが、そう())(です。 タスク 入力として文字列S(または言語の適切な同等物)を取り、1つの出力Q(選択したタイプの)を持つプログラムまたは関数を作成します。妥当な手段を使用して、入力を取得し、出力を提供できます。 入力Sが回文である場合、出力Qの値はAである必要があります(これはどの回文Sでも同じです)。 入力Sが回文ではない場合、出力Qの値はBである必要があります(非回文Sでも同じです)。 AとBは互いに異なるものでなければなりません。 または言い換えると、すべてのパリンドロームをある値にマッピングし、すべてのパリンドロームを別の値にマッピングします。 さらに、プログラムまたはあなたが書いた関数は、この作り回文自体(すなわち、そのソースコードはパリンドロームでなければならない)、でなければならない制限されたソースの挑戦を。 明確化 けれどもtrueとfalseのための明白な選択であるAとBは、あなたの「回文である」ために任意の二つの異なる値を使用することができますし、ブール値である必要はないの出力、「回文ではありません」。 ここでは、文字レベルで文字列の反転を定義しています。ééUTF-8エンコーディング後のオクテットの回文シーケンスではありませんが、プログラムがUTF-8またはLatin-1でエンコードされているかどうかに関係なく、回文です。 ただし、プログラムに非ASCII文字が含まれている場合でも、ASCII入力に対してのみ機能する必要があります。具体的には、入力Sには印刷可能なASCII文字のみが含まれます(スペースは含まれますが、改行は含まれません)。特に、これは、入力を文字のシーケンスではなくバイトのシーケンスとして扱う場合、プログラムが仕様に準拠する可能性が高いことを意味します(言語のI / Oエンコーディングが非常に奇妙でない限り)。したがって、前の箇条書きの回文の定義は、プログラムが正しい形式であることを確認するときにのみ重要になります。 プログラムの半分をコメントや文字列リテラルに隠しますが、創造的ではありませんが、合法です。あなたは創造性ではなく長さで得点されているので、あなたのプログラムが回文であることを保証するために「退屈な」方法を自由に使ってください。もちろん、あなたは長さで得点されているので、あなたのプログラムの何もしない部分はあなたの得点を悪化させるでしょう。 。 勝利基準はバイト単位で測定されるため、プログラムを記述するエンコードを指定して、スコアリングできるようにする必要があります(多くの場合、どのエンコードを使用しているかは明らかです)。 勝利基準 プログラムはキャラクターレベルでは回文である必要がありますが、バイトを使用して勝者を確認しています。具体的には、バイト単位で測定したプログラムが短いほど優れています。これはコードゴルフの挑戦です。提出物(特に同じ言語の提出物)を比較できるようにするには、提出物のヘッダーにプログラムのバイトカウントを追加します(バイト数と異なる場合は、文字カウントを追加します)。

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