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

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

15
アレイをどれだけ激しく粉砕できますか?
数字の配列を粉砕するプロセスを定義しましょう。クラッシュでは、配列を左から右に読み取ります。ある時点で2つの同じ要素が連続して出現した場合、最初の要素を削除し、2番目の要素を2倍にします。たとえば、次の配列を粉砕するプロセスです [5,2,2,3] ^ [5,2,2,3] ^ [5,2,2,3] ^ [5,4,3] ^ [5,4,3] ^ 同じ要素を複数回折りたたむことができます。たとえば、押しつぶされたときに[1,1,2]なり[4]ます。 配列を押しつぶすプロセスによって配列が変更されない場合、配列を押しつぶせないものと呼びます。例えば、粉砕された後も[1,2,3]まだ[1,2,3]です。 あなたの仕事は、配列を取得し、それを破壊できないようにするために必要なクラッシュの数を決定することです。0から2 32 -1の範囲の整数のみをサポートする必要があります これはコードゴルフなので、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いです。 テストケース [1] -> 0 [1,1] -> 1 [2,1,1] -> 2 [4,2,1,1] -> 3 [2,2,2,1,1] -> 3 [0,0,0,0] -> 1 [4,0,0,0,4] -> 1 [4,0,0,0,0,4] -> 1 [] -> 0

27
パイはあなたの番号を取得しました
チャレンジ: 円周率は無限であることになっています。つまり、すべての数値はpiの小数部分に含まれています。あなたの仕事は、入力で正の整数を取り、出力でこの数字の位置をpi桁で返すことです。 入力された場合、例えば59、我々は戻ります4 理由は次のとおり59です。piの桁の数字を探します 3.14159265... ^^ 値は4桁目から始まるため、出力はになります4。 他のいくつかの例: input : 1 output : 1 input : 65 output : 7 input : 93993 output : 42 input : 3 output : 9 ルール: 最初の200桁以内に存在しない数字を処理する必要はありません。 標準の抜け穴は、いつものように禁止されています。 これはcodegolfなので、少ないバイトが勝ちます。
30 code-golf  pi 

14
火で殺します
免責事項:この質問の中で語られたストーリーは完全に架空のものであり、イントロを提供する目的でのみ発明されました。 私は邪悪な農民であり、私の地域で小麦の価格を引き上げるために、私は私の周りのすべての農民の畑を燃やすことにしました。私は本当に野原が炎上するのを見たいです(したがって、私は私の邪悪な笑いを使用して、喜びと手を一緒にこすることができます)私のために焼却された。 あなたのタスク: 入力としてフィールドを取り、フィールド全体が灰になるまで書き込みの段階を返すプログラムまたは関数を作成します。燃えているフィールドの特定のセクションは、炎の強度を表す整数で表されます。火災は「1」から始まり、「2」、次に「3」へと続きます。火災が「4」に達すると、火災で可燃性である直接(斜めではない)隣接エリアをキャッチします。「8」に達すると、次の反復で燃え尽き、「A」で表される灰に変わります。エリアがまだ火に触れていない場合、「0」で表されます。たとえば、フィールドが次のような場合: 100 000 あなたのプログラムはこれを出力するはずです: 100 000 200 000 300 000 410 100 520 200 630 300 741 410 852 520 A63 630 A74 741 A85 852 AA6 A63 AA7 A74 AA8 A85 AAA AA6 AAA AA7 AAA AA8 AAA AAA 必要に応じて、一貫性があり互いに異なる限り、上記の記号を選択した記号のセットに置き換えることができます。 入力: 上記の改行で区切られた文字列など、標準形式のフィールドの開始位置。 出力: 配列として、または何らかの文字で区切られた文字列として、書き込みのたびに繰り返されるフィールド。 テストケース: 0301 …

30
角から長方形の配列を再構築する
私はかつて美しい長方形の配列を持っていました。それは非常に対称的でしたが、残念ながらバラバラになり、今では左上隅しかありません。あなたの仕事は、元のアレイを再構築することです。 プログラムは整数の2次元配列を受け取ります。解析を簡単にするために、それらはすべて1〜9であると想定できます。タスクは、配列の列、行、およびその両方を逆にし、結果の角を縫い合わせて、結果の配列を返すことです。 配列の次元は少なくとも1x1であると仮定できます。 テストケース: Input: 1 2 3 4 5 6 Output: 1 2 3 3 2 1 4 5 6 6 5 4 4 5 6 6 5 4 1 2 3 3 2 1 Input: 1 Output: 1 1 1 1 Input: 9 9 9 Output: 9 9 …

13
ASCIIアートの平方根
あなたはTeXやLaTeXなどを本当に嫌う数学者のインターンとして働いています。そのため、彼はすべての組版を放棄し、すべての書式設定をASCIIで行うことにしました。しばらくするとこれにうんざりし、平方根から始めて、その一部の自動化を開始することにしました。 平方根の作成方法は次のとおりです。 ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / ### / ### _____ put a diagonal …

30
どのカードですか?
前書き 昔、私は通常のトランプでカードゲームをコーディングするときに、各カードに番号を指定し、カードを取得するためにいくつかの番号で関数を呼び出していました。これはやや私にこの挑戦をするよう促しました。 そのため、トランプを知らない人のために、カードのデッキは52枚のカードで構成されています(4つのスーツ、つまり、ハート、ダイアモンド、スペード、クラブのそれぞれに13枚)。各スーツには13枚のカードがあります。最初に2〜10の番号が付けられ、次にジャック(J)、クイーン(Q)、キング(K)、エース(A)です。これが注文です チャレンジ 課題は、入力として1〜52の整数を取り、その位置にカードを表示することです。ただし、出力は言葉で行う必要があります。また、順序を維持する必要があります。つまり、最初の13枚のカードはハート、次にダイヤモンド、次にスペード、最後にクラブになります。 たとえば、誰かが番号を選択した場合、30カードは3番目のスーツ、つまりスペードに属します。また、それは数5を意味スーツ、中に4枚目のカードだろうそこで言葉であなたの出力は次のようにする必要がありますfive of spadesし、それがなければならない、常にこの形式に従うが続く、すなわち、最初のカード、ofおよびスーツの名前でを最後に、間にスペースが必要です。 入出力 入力は 1〜52の整数です(両方を含む)。ここでカウントは1 から開始することに注意してください。0から開始することもできます。ただし、上記のカードの順序を維持する必要があります。出力は、単語で書かれたその位置のカードになります。無効な入力を処理する必要はありません。また、出力は小文字でも大文字でもかまいません。 以下に、すべての可能な入力とその出力のリストを示します。 1 -> two of hearts 2 -> three of hearts 3 -> four of hearts 4 -> five of hearts 5 -> six of hearts 6 -> seven of hearts 7 -> eight of hearts 8 -> …

16
入力を使用したBPMの計算
経過した8つのデータポイントを使用して平均BPM(1分あたりのビート数)を計算する最短コードをプログラムします。これは私の最初の投稿であり、これに似た質問を見たことはありません。私はリズムゲームのファンなので、あなた自身のキーボードとあなた自身のリズム感覚を使ってBPMを計算するための小さな便利なツールを持っているといいでしょう... チャレンジ すべての入力は特異でなければなりません。(つまり、「入力」として「Enter」のみを押す) プログラムには少なくとも9つの入力が必要です。(経過した8つのデータポイントを作成するには。) プログラムは、小数点以下2桁で四捨五入されたキー入力のBPMを出力する必要があります。(つまり178.35) タイミングは最初の入力から始まります。プログラムの開始ではありません これはcode-golfなので、最短の答えが勝ちです。 入力と出力の例 少なくとも1つのサンプル入力および出力を提供します。入力がどのように見えるかについての独自の説明と一致することを確認してください。 入力: > [Enter-Key] # User waits 1 second ... 7 more inputs > [Enter-Key] 出力: > 60 現在の勝者は、Pythを使用した22バイトのKarlKastorです 勝者はPythを使用していましたが、Matlabの答えは注目に値する答えでした。
30 code-golf 

30
アルファベットの階段
チャレンジ あなたのタスクは、入力なしで以下を出力するプログラムまたは関数を作成することです。 a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll mmmmmmmmmmmmm nnnnnnnnnnnnnn ooooooooooooooo pppppppppppppppp qqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrr sssssssssssssssssss tttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzz 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。

10
タツノオトシゴの靴
もちろん、タツノオトシゴには靴が必要です。ただし、尾が1つしかないタツノオトシゴには、靴が1つだけ必要です。残念ながら、靴はペアでしかありません。タツノオトシゴ政府にとってはお金が不足しているため、できるだけ少ないペアを購入する必要があります。各タツノオトシゴは、靴のサイズ持つX xは正の整数です。ただし、タツノオトシゴは必要に応じてサイズx-1またはx + 1の靴を履くことができます。 あなたの仕事は、タツノオトシゴ政府がすべてのタツノオトシゴに靴を履くために購入しなければならない最小数のペアを出力することです。 必要に応じて、標準の抜け穴などを入力できます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース 2 4 6 6 8 14 -> 4 2 1 3 1 1 -> 3 4 1 4 9 1 8 9 1 8 4 -> 6 1 2 3 5 7 8 10 12 -> 4
30 code-golf 

7
成長の遅いクイン
クインを作ります。 簡単そうですね。さて、この馬は自分自身とその最初の文字を出力する必要があります。 このようにして、いくつかの世代でクインは2つのコピーを出力します。 例:コードをとしますx。実行すると出力されますx + x[:1]。結果のプログラムを実行するx + x[:2]と、出力などが表示されます... コードがあった場合、foobarこれを実行すると出力されますfoobarf。これを実行すると出力されますfoobarfo。など、このパターンに従って以下のようになります。 foobar foobarf foobarfo foobarfoo foobarfoob foobarfooba foobarfoobar foobarfoobarf プログラムは2バイトより長く、各反復で独自のコードの余分な文字を1つだけ出力する必要があります。
30 code-golf  quine 

20
バケットを再スタックできますか?
私の小さな子供はこのようなおもちゃを持っています: このおもちゃは10個の積み重ね可能な小さなバケツで構成され、1(最小のもの)から10(最大のもの)まで番号を付けます。時々彼は小さな山を作り、おもちゃはこのようになります: このように山を概略的に表すことができます: 1 6 4 9 2 7 5 10 3 8 ---------- <-- Floor 1 2 3 4 <-- Pile # または、別の言い方をすれば: [[4,5],[9,10],[1,2,3],[6,7,8]] このバケットパイルのセットは、大きなバケットのパイル内に小さなバケットのパイルを連続して配置するだけで、元のセット(最初のイメージ)を再構築するために簡単に再スタックできます。 1 1 6 2 2 7 1 6 3 6 3 8 4 9 2 7 4 9 7 4 9 5 10 3 …

18
N次元のアイデンティティ「マトリックス」
正の整数を指定すると、インデックスのすべてのコンポーネントが等しい場合とそうでない場合の配列である-次元単位「マトリックス」をn出力します。は、N x N x N xを意味します...NN^N10N^N 1 -> [1] 2 -> [[1,0],[0,1]] 3 -> [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]] 4 -> [[[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]]] たとえば、aある4次元のアイデンティティ「マトリックス」、そして持つエントリのみを1だろうa[0][0][0][0]、a[1][1][1][1]、a[2][2][2][2]、とa[3][3][3][3]。 これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

30
言葉の逆転
ソナは10歳の娘と一緒に家にいます。彼女は午後2時に学校が終わるので、学校から別の子供を連れ戻すために学校に行く必要があります。外は暑いので、彼女は小さな子供を家に置いておきたいと思っています。 彼女は、子供がいない間、忙しくしておくために、たくさんの紐を子供に与えました。彼女は、文字列の単語を逆にするように彼女に頼みました。文字列がたくさんあるので、この巨大な課題を解決するために娘を助ける必要があります。 したがって、単一のスペースで区切られた単語を含む文字列が与えられた場合、文字列内の単語を逆にします。先頭または末尾にスペースがないと仮定できます。 文字列にはのみが含まれる[a-zA-z ]ので、句読点を処理する必要はありません。 入力として文字列が与えられ、文字列を出力する必要があります。 サンプルテストケース: Input: Man bites dog Output: dog bites Man Input: The quick brown fox jumps over the lazy dog Output: dog lazy the over jumps fox brown quick The Input: Hello world Output: world Hello 得点 これはcode-golfです。バイト単位の最短回答が優先されます。

21
最も近い大きい数を見つける
タスク 整数の配列がある場合、例えば: [-1,476,578,27,0,1,-1,1,2] その配列のインデックス(この例では0ベースのインデックスを使用していますが、1ベースのインデックスも使用できます)。 index = 5 v [-1,476,578,27,0,1,-1,1,2] 次に、そのインデックスの要素より大きい最も近い数値を返します。この例では、1より大きい最も近い数は27です(2インデックス離れている)。 index = 5 v [-1,476,578,27,0,1,-1,1,2] ^ Nearest greater number Output = 27 仮定 Nearestにはラッピングは含まれません。 プログラムに長さ1の配列が与えられることはありません(例:)[55]。 あなたは常に与えられた要素よりも大きい数があると仮定する必要があります。 等距離にある要素よりも2つの数値が大きい場合、どちらかを返すことができます。 I / Oペア Input: Index = 45 Array = [69, 43, 89, 93, 62, 25, 4, 11, 115, 87, 174, 60, 84, 58, …

30
斜めにカウントアップ!
数字には横軸がたくさんありますが、正直言って退屈なものだと思います。今日のあなたの仕事は、入力として与えられた2つの異なる非負整数の間の対角軸の一部を構築することです。 対角軸を作成する方法は? inputを使用して例を見てみましょう0, 5。軸は次のようになります。 0 1 2 3 4 5 ただし、軸の桁数が多い場合は、軸がきれいに見えるはずです!たとえば、入力がの場合、0, 14新しい軸は次のようになります。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 考え方は、軸上の次の数字の最初の数字は常に前の数字の最後の数字の直後に配置する必要があるということです。アイデアをさらによく理解するために、次の例を使用し997, 1004ます。 997 998 999 1000 1001 1002 1003 1004 ルール 入力は昇順または降順であると仮定できます(との間5,3で選択できます3,5)。 また、2つの整数の差が100より小さいと仮定することもできます。 先頭の改行または一貫した先頭のスペース(各行)がある場合があります。末尾のスペース/改行も同様に問題ありません。 デフォルトの抜け穴は禁止されています。 任意の標準的な手段で入力を取得し、出力を提供できます。 これはcode-golfなので、すべての言語でバイト単位の最短コードが勝ちます! その他のテストケース 1, 10: 1 2 3 …

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