タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

26
バイト配列をビット配列に分割します
バッファb(1〜104857600バイトの長さ)とビット数n(1 <= n <= 64)を指定すると、バッファをnビットのチャンクに分割する関数を記述します。最後のチャンクを0sまでnビットで右詰めします。 例えば バッファb = "f0oBaR"または同等の[102,48,111,66,97,82]andを指定するとn = 5、 [12, 24, 24, 6, 30, 16, 19, 1, 10, 8] これは、上記のバッファがバイナリとして表される場合、次のようになるためです。 01100110 00110000 01101111 01000010 01100001 01010010 そして、5に再グループ化すると、次のようになります。 01100 11000 11000 00110 11110 10000 10011 00001 01010 010[00] 10進数に戻すと、答えが得られます。 ノート バッファを表すために、言語で最も意味のあるデータ型を使用できます。PHPではおそらく文字列を使用しますが、NodeではBufferを使用したい場合があります 文字列を使用してバッファを表す場合、char-> int変換ではASCIIであると想定します 必要に応じて、入力にintの配列(0〜255)を使用できます。 戻り値は配列または整数のリストでなければなりません テストケース > b = …

30
頭字語を作る
目的 あなたの目標は、入力を頭字語に変換するプログラムを作成することです。入力には文字とスペースのみが含まれることが保証されています。入力には、単語間にちょうど1つのスペースがあります。入力の頭字語を出力する必要があります。 ルール あなたのコードでは、大文字と小文字を区別すること(例えばすることができないfooとFoo同じです) コードでは次の単語を無視し、頭字語に入れないでください。 and or by of あなたはできません単語がすべて小文字であることを前提としています。 出力は、文字間を分離せずに完全に大文字にする必要があります。 末尾の改行は受け入れられますが、必須ではありません。 言語に頭字語機能が組み込まれている場合は、使用しないでください。 例 (入力/出力をグループ化) United States of America USA Light Amplification by Stimulation of Emitted Radiation LASER united states of america USA Jordan Of the World JTW 得点 これはコードゴルフの課題なので、最短のコードが優先されます。 リーダーボード var QUESTION_ID=75448,OVERRIDE_USER=8478;function answersUrl(e){return"https://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"https://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 …
24 code-golf  string 

6
棒グラフを描く
かなりのASCII 棒グラフを作成するプログラムを作成することになりました。入力形式は次のとおりです。 [List of words (they can have spaces)] [an integer >= 0] Bar 3 This is so cool 4 IDK-Why 6 入力には、この形式の複数の行があり、各行はグラフの1つのバーを表します。グラフの出力形式は次のようになります。 _ _ _ _ |_|_|_|_| | | | | | | | + [name of 4th bar] | | + [name of 3rd bar] | + [name …

30
交換、削除、繰り返し
前書き 次の文字列を観察してみましょう。 ABCDEFGHIJKLMNOP 文字列の両端を交換すると、次のようになります。 ABCDEFGHIJKLMNOP ^^ ^^ 次の結果が得られます。 BACDEFGHIJKLMNPO その後、文字列の終わりを削除します。この場合はB、とOです。結果は次のとおりです。 ACDEFGHIJKLMNP プロセスを繰り返すと、次のリストが表示されます。 N Result 2 ADEFGHIJKLMP 3 AEFGHIJKLP 4 AFGHIJKP 5 AGHIJP 6 AHIP 7 AP N = 5の場合、結果はであることがわかりAGHIJPます。でN = 7、文字列の長さよりも小さい3 N> 7が考慮されるように、無効この場合。 タスク 少なくとも長さ4および繰り返し数N > 0の文字列Sが与えられた場合、最終結果を出力します。Nは常に有効であるます。 テストケース Input > Output N = 3, S = ABCDEFGHIJKLMNOP > AEFGHIJKLP N …
24 code-golf  string 

16
私を数えてください!
あなたの仕事は簡単です。スニペットをn回繰り返すと、スペースで区切られたnを10進数、8進数、16進数の順に出力する任意の言語でスニペットを投稿します。nはゼロより大きい整数です。先行ゼロはありません。最短回答が勝つ 例 スニペットがABC次の場合、テストケースは ABC 1 1 1 ABCABC 2 2 2 ABCABCABCABCABCABCABCABCABC 9 11 9 ABCABCABCABCABCABCABCABCABCABCABCABC 12 14 C ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC 18 22 12
24 code-golf 

8
英数字スパイラル
タスクは非常に単純で、入力が与えられると、次のスパイラルのいずれかを出力します。 Input = 1A左上隅から始まる文字でスパイラルを与える: A B C D E F T U V W X G S 5 6 7 Y H R 4 9 8 Z I Q 3 2 1 0 J P O N M L K Input = 2A右上隅から始まる文字でスパイラルを与えます。 P Q R S T A O …

1
ループ検出-そんなことはありません!
この課題の目標は、ループで囲まれた方向と領域を見つけることです。 入力: これらの文字のみで構成される長方形のグリッド: ^v<> (オプションで、選択した接頭部、接尾部、および分離文字を使用して、グリッド自体の前に10進数でグリッドの寸法を指定することもできます。) ループグリッドでは次を指し、次の1つの点は、最終的に最初の文字に戻っ指し示すように前述の文字の集合です。例えば: <>>v> >>v ^^<>v ^ >v >^<<< ^<<< >^<v> 左のグリッドはサンプル入力です。右側のグリッドは分離されたループです。 入力グリッドには、ループがまったく含まれないか、1つのループが含まれます。グリッドに複数のループが含まれる場合について心配する必要はありません。 出力: グリッドにループが含まれていない場合は、を出力しますX。 グリッドが互いに指し示す2つの矢印を含む場合、output 0。 グリッドに反時計回りのループが含まれている場合、境界線を含め、ループで囲まれた文字をカウントします。その番号を出力します。 グリッドに時計回りのループが含まれている場合、反時計回りのループと同じプロセスに従いますが、その数値の負数を出力します。たとえば、上記の入力グリッドの出力は-11次のとおりです。10はループ自体からのもので、1はループで囲まれた文字からのものです。 これはcode-golfです。最短のコードが優先されます。 テストケース: <<^ ^>v ^v< 出力X。 <<<< ><<< >>^> 出力0。 <>^^< >>>v> <^^>v <^>>v >^<<< 出力-15。 v<<<< >v>>^ v<^<< >>>>^ 出力20。

15
ランダムウォーカープリンター
歩行者の位置にSTDOUT nドットを含む文字列を1回ずつ(1ステップずつ)書き込むプログラムまたは関数を描画します.。また、プログラムは1 s秒ごとに行を書き込む必要があります(またはs各行の後に数秒待機します)。 ランダムウォークは、一連のランダムステップ(wiki)で構成されるパスの数学的な形式化であり、すべての新しいステップが最後のステップと新しい値になるため、tステップ値はすべてのランダム値の合計になりますir +初期値の前。 プログラムは2つの入力を取る必要があり、出力ではスペース" "とドットのみを使用"."します。ウォーカーの開始値は、20出力が19スペースの後にドットになるようになります。 . #19 spaces then a dot 新しいステップごとに、値は歩行者の最後の値にこれらの1つを加えたものになります[-2-1,0,1,2](それぞれ20%の確率)。新しい位置が印刷された後、プログラムはs数秒待ってから次のステップに進みます。ステップが歩行者を範囲外に連れて行く場合、1 to 40それは無視されるべきであり、歩行者の位置は同じままである。スペースの数は常に0〜39の数になります。 例 #input Mywalk(s = 0.1, n = 30) #output . . . . . . . . . . . . . . . . . . . . . . . . . …
24 code-golf  random 

6
平方の10進連結
前提 ある夜、私はただ数字を考えていました。私は、7、10、12、13などのような数字についてユニークな何かを見つけました。彼らは正方形の正方形です!意味は、二乗したとき、それ自体が正方形で構成されることです。OEISは、2つ以上の正方形を10進数で連結したものを正方形と呼びます。 このような数の例には、7(49は2 2と3 2)13(169は4 2と3 2)と20(400は2 2と0 2)が含まれます。1369は1、36、9に分割できるので、他の例には37が含まれます。1444(38 2)は1、4、4、4 に分割できるので、用語です。 .SE、そして私にちなんで命名されました! チャレンジ TanMath番号を印刷するプログラムを設計します。番号n(1から始まる)を指定して、n番目のTanMath番号T(n)を出力します。 コード例として: >> 1 >> 7 または >> 4 >> 13 Python実装の参照(@MartinBüttnerと@ Sp3000に感謝!): from math import sqrt n = input() def r(digits, depth): z = len(digits) if z < 1: return (depth > 1) else: for i …

11
文字列をそれ自体で置き換えます!
文字列をそれ自体で置き換えます あなたの目標は、元の文字列の各文字を最初の文字から始めて折り返すことによって、文字列をそれ自体で置き換えることです。ここに私が意味することを示すためのいくつかの例があります: 最初の例: Input: program Output: apgopra How: Program -> mrogram (replace p by m in program) -> mpogpam (replace r by p in mrogram) -> mprgpam (replace o by r in mpogpam) -> mpropam (replace g by o in mprgpam) -> mpgopam (replace r by g in mpropam) -> …
24 code-golf  string 

20
素数の和ピラミッド
数Nが与えられると、N個の素数のピラミッドの合計を取得することが課題になります。物事を明確にするために、以下に例を示します。 Input: 4 最初の4素数をリストし、それらの合計を計算します。その後、合計の合計を計算します。 2 > 5 3 > 13 > 8 > 33 5 > 20 > 12 7 最終結果は33であることがわかります。N = 8の別の例を次に示します。 2 > 5 3 > 13 > 8 > 33 5 > 20 > 83 > 12 > 50 > 205 7 > 30 > 122 > …
24 code-golf  math  primes 

12
アスキーキャラクタージャンブル
印刷可能な文字(ASCII 20-7E)とn[2,16]の整数で構成される文字列を入力として受け取り、文字列に対して次の変更を実行するプログラムを作成します。 文字列内の各文字はASCIIコードに変換されます(指定された例は16進数ですが、10進数も受け入れられます)。 ASCIIコードはベースに変換されn、一緒に連結されます。 新しい文字列は1文字おきに分割されます。奇数の文字がある場合、最後の文字は完全に削除されます。 ASCIIコードの印刷(16進数)は元の文字に変換されますが、非印刷ASCIIコードは削除されます。 結果の文字列が印刷されます。 テストケース 入力 Hello, World! 6 手順 Hello, World! 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 2002453003003031125222330331030024453 20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45 このプログラムの出力は E001R"31$Eです。 これはコードゴルフなので、標準的な規則が適用されます。バイト単位の最短コードが優先されます。

6
コードビリヤード(レーベンシュタインゴルフ)
次の9つのタスクを任意の順序で実行するプログラムを作成するには、1つの言語を使用する必要があります。 入力された数値を基数10から基数36に変換します。 サンプル入力: 1000 サンプル出力:(RS出力は大文字でなければなりません) 文字列の各文字を10進数の10進ASCIIコードに変換し、連結されたコードを印刷します。 サンプル入力: Scrambled 3GG5 サンプル出力: 839911497109981081011002051717153 入力された数値が1738で割り切れるかどうかを判別します。 真の場合は真偽値を返し、偽の場合は偽値を返します。 文字列に文字が含まれているかどうかを判断qします。 真の値を返しますが、偽の値を返します。 入力された文字列を+1のシーザー暗号でエンコードします。 大文字と小文字を区別する必要があります。文字以外の文字は変更なしで印刷されます。 サンプル入力: Good morning, World! サンプル出力: Hppe npsojoh, Xpsme! 数の素因数の合計を見つけて出力します。 サンプル入力: 1320 サンプル出力: 21 印刷PPCG。 でn割り切れる最初の正の整数を出力しfloor(sqrt(n))ます。 n 入力された整数です。 入力された文字列のすべてoをOで置き換えますಠ。 サンプル入力: Onomatopoeia サンプル出力: ಠnಠmatಠpಠeia あなたはこの挑戦がそうCode Billiardsでないことに気付くでしょうCode Golf。このチャレンジの目的は、ビリヤードのように、コードをセットアップして、次のチャレンジのために少しだけ変更できるようにすることです。これが、プログラムが上記のタスクを順番に解決する必要がない理由です。 あなたのスコアは次のように決定されます 1プログラムの各バイトごとにスコアが上がります。 floor(n^(1.5))2つの連続したプログラムのレーベンシュタイン距離がの場合、スコアは上がりnます。たとえば、最初のプログラムがpotatoで、2番目のプログラムがであるtaters場合、スコアは12バイトで12 、レベンシュタイン距離5で11= floor(5^(1.5))ずつ上がります。 この課題の目的は、9つのプログラムすべてを作成した後、できるだけ低いスコアにすることです。標準のCGルールが適用されます。 リーダーボードを表示するには、[コードスニペットを表示]をクリックし、一番下までスクロールして[►コードスニペットを実行]をクリックします。オプティマイザーによって作成されたスニペット。 コードスニペットを表示 …

20
注文をまねる
sourceとpatternの 2つの数値リストを指定すると、パターンの相対的な順序に一致するようにソースを並べ替えます。再配列されたソースの2つのエントリは、パターンの同じ位置のエントリと同じ方法で比較する必要があります。 たとえば、入力 s = [-5, 9, 4, 13, 11, -6, 0] p = [7, -4, 1, -8, 4, -3, 12] 結果を生成する必要があります [11, -5, 4, -6, 9, 0, 13] 最初と最後の位置を比較すると、結果には11<13があり7<12、パターンで一致します。 入力:整数の2つの等しい長さの空でないリスト。各リストには繰り返しはありません。ソースまたはパターンが最初に与えられるかどうかはあなた次第です。 出力:パターン番号と同じ相対的な順序になるようにソース番号を再配置するリスト。 リーダーボード: コードスニペットを表示 var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/62587/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://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 …

3
月曜日ミニゴルフ#5:<s>しない</ s>自宅でこれを試してください
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフの質問。 時々、人々は人生のルールにうんざりします:「これをしないでください」、「あなたはそれをすることはできません」、「私たちはあなたにこれをさせません」。時には本当に制限されているように見えるかもしれません!しかし、時々、ちょっとした楽しみがあるのは良いことなので、これらのルールを変更するためのコードを書きましょう。そして、我々がそれに取り組んでいる間、他の否定性も同様に修正するかもしれません。(もちろん、これらの変更は一時的なものではないため、元の文言もそのままにします。) チャレンジ あなたの課題は、制限のある単語(つまり、末尾または末尾に続く単語)にHTML &lt;s&gt;取り消し線を付けるプログラムまたは関数を作成し、これらの各&lt;/s&gt;単語の後に、すべての大文字に正の同等物を挿入することです。最後に、スペースの後に、行われた置換の数を含める必要があります。例えば:n'tnot Please don't jump into the pool. になる Please &lt;s&gt;don't&lt;/s&gt; DO jump into the pool. 1 (で終わる)で終わる、n'tまたはnot(で終わる)単語のcannot場合、正の同等物は、上記までのすべてnot(スペースを除く)です。ここに私が意味するものがあります: do not speak になる &lt;s&gt;do not&lt;/s&gt; DO speak it doesn't work になる it &lt;s&gt;doesn't&lt;/s&gt; DOES work we cannot になる we &lt;s&gt;cannot&lt;/s&gt; CAN ただし、いくつかの例外があります。これらが適切に処理されていることを確認してください。 can't -&gt; &lt;s&gt;can't&lt;/s&gt; CAN won't -&gt; …
24 code-golf  string 

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