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

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

3
ボックス内のASCII反射
ボックス内のASCII反射 おそらく皆さんは反射の法則をご存知でしょう。この課題では、ボックス内のボールの軌道を視覚化します。 関連:ボックス内のASCIIボールアニメーションとASCII Doodling:ボックス内のレーザー 仕事 次の3つの整数の組を与えているW,H、x,yそしてdx,dy-第一ボール開始する移動方向であるボックス、第二の開始位置及び第3の対のサイズを表します。 タスクは、ボールが転がるのを止めるまでボールの動きを視覚化することです。これは、ボールが以前の位置にあるか、またはコーナーに当たるとすぐに発生します。 キャラクター*はボールの軌道を視覚化し、+その最終位置をマークします。ボックスの残りの部分は(空白)で構成されている必要があります。 例 少し明確にするために、これらの例で_は空白を表します。また、中間ステージは明確化のためにここにのみあります。最後のステージを出力する必要があるだけです1。これらの例には、インデックスが付けられています。 与えられW = 3, H = 5、x = 3, y = 2そしてdx = -1, dy = 1: ___ ___ ___ ___ __* __* __* __* ___ -> _*_ -> _*_ -> _+_ ___ *__ *__ *_* ___ ___ _*_ _*_ ボールはポイントから始まり(3,2)、 …

10
そのビスマルクを沈めなさい!(エラー、豚)
Pig-latinは、単語の最初の文字を最後に移動し、最後に追加ayすることで翻訳される作り上げの言語です。たとえば、はhelloブタのラテン語に変換されellohayます。したがって、pig-latinを英語に翻訳するayと、末尾のがドロップされ、最後の文字が先頭に移動します(のようoodbyegayにgoodbye)。それを書くときに、一部の人は入れてます-ので、それは、(例えば)を読み取り、わかりやすくするために最初の文字を移動する前に、最後にello-hay代わりのellohayためhello。このチャレンジでは、このハイフン付きのバージョンを使用します。 目的 pig-latin文字列を元に戻します。 指示 1つの引数(文字列の形式の1つの単語)を取るプログラム/関数を記述します。その単語がpig-latinにある場合、プログラム/関数returnはnon-pig-latin単語を出力(つまり、出力)する必要があります。pig-latinでない場合は、単語をそのまま出力します。 この課題の豚のラテン語は次の形式になります。 ello-hay 単語がで終わる場合-*ay、それはpig-latinであり、*は単一のワイルドカード文字です。 文字以外の文字は通常の文字として扱う必要があります。複数のダッシュの場合は、最後を除くすべてを無視します。 例 unpig()デモ用の架空のPython関数の使用。 unpig("ello-hay") #=> hello unpig("hello-world") #=> hello-world unpig("hello") #=> hello unpig("pple-aay") #=> apple unpig("apple") #=> apple unpig("ig-Stay") #=> ig-Stay (+1 to ETHproductions for noticing.) unpig("ello----hay") #=> hello--- unpig("la$s-gay") #=> gla$s unpig("ig-pay-yay") #=> yig-pay ルール 標準の抜け穴が適用されます これはcode-golfなので、最短のコードが優先されます。 組み込み関数(特にこの目的のため)は許可されていません。 ヘッダーを使用 # Language, …
8 code-golf 

17
Harshad番号ですか?
Harshad数は、その数字の合計で割り切れる数です。これは明らかに整数が書き込まれる基数に依存します。10進数のHarshad数はOEISのシーケンスA005349です。 あなたのタスク: 与えられた整数が与えられた底のHarshad数であるかどうかを決定するプログラムまたは関数を記述します。 入力: 正の整数<10 ^ 9、2から36までの基数、またはその基数に正の整数、11-36の数字に小文字を使用し、2から36までの基数を使用します。これらのオプション。 出力: 最初の入力が2番目の入力の底のHarshad数であるかどうかを示す真/偽の値。 例: 27,10 ----------> truthy 8,5 ------------> truthy 9,5 ------------> falsy 1a,12 OR 22,12 -> truthy 得点: これはcode-golfで、バイト単位での最低スコアが勝利します。

7
あなたが抵抗できない10のクリックベイト
1から10までの自然数iを入力として受け取り、コードゴルフポータルでi番目に人気のある質問を含む質問のURLを出力するプログラム/関数/スクリプトを記述します。 順序はhttps://codegolf.stackexchange.com/?tab=hotのようにする必要があります。例: 入力1 出力/codegolf/127047/the-spain-license-plates-game (この編集の時点で) URLが合理的に取得できる限り、出力に強い制限はありません。有効な出力には、文字列、コンソール印刷などがあります。 それはコードゴルフなので、バイトで最も短いコードが勝ちます。 ノート プログラムがWebページを含むブラウザーを自動的に開く場合、それは有効な出力としてカウントされ、完全にクールです。 プログラムが現在の情報からランキングを取得しない(つまり、リンクをハードコーディングする)場合、そのランキングは無効です。 コンテストは6月末に終了します。 質問:インデックスは1ベースでなければなりません。つまり、入力1は、最もホットな質問の最初のサイトを返す必要があります。 コメント スタック交換エディタープログラムがタイトルをあざけっていたので、この質問があまりクリックベイトにならないことを願っています。もともと私は、Youtubeのトレンドを使ってこのチャレンジを計画しましたが、よりフィッティングはしませんでした。

1
地面の宝石を数える
宝石を数える バックグラウンド 宝石箱が落ちた!地面にさまざまな形の宝石が多すぎます。そして、あなたの仕事は、特定の種類の宝石の数を数えることです。 I / O コードは2つの入力Sとを受け取る必要がありますG。これは、改行を含む文字列、行の配列、文字の2次元配列、テキストファイル、または適切な形式の場合があります(そうであれば、明記してください)。 これらの2つの文字列には、!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(ASCIIテーブルの0x21to から0x7E)、スペース、および改行(プラットフォームに応じてバイナリ形式)のみが含まれます。 各文字列では、行は同じ長さです。 S数えたい宝石です。2つの状況があります。 囲まれ、ネストされた囲まれた領域を含みません。(例では1/2) 囲まれた領域は含まれません。(例3/4) 周囲の空間は宝石の一部とは見なされません。 G 地面にある宝石の形です。 それはあなたのコードがの寸法(複数可)を指定するために余分な入力を必要とすることが可能ですSし、G コードが文字自体ではなく、ASCII値を入力として受け取ることは許容されます。ただし、文字をより単純な整数(0、1、2、3)に置き換えないでください。プログラムは、文字またはASCII値を処理できる必要があります。 例1(入力としての文字) 入力S: +-+ | +-+ | | | | | | | +-+ +-+ 入力G: +-+ +-+ | +-+ +-+ | | | | | | | | | | | | …

16
適切なパスワードを生成する
物語 多くのパスワードを覚えておく必要があり、複数のWebサイトで同じパスワードを使用したくないので、ルールを思い付きましたが、ルールは透過的ではないので、次のようにします。 のような長い単語や概念について考えてくださいbreadpudding。 最初の文字をログインしているサイトに置き換えます。ログインしている場合google、単語はになりgreadpuddingます。 最初の文字を大文字にします。 2番目の文字を@記号に変更します。 パスワードが非子音で始まる場合は、特定の番号(など1234)を追加します。それ以外の場合は、別の番号を追加します(など4321)。 たった今、あなたは適切なパスワードを持っています。 このプロセスは骨が折れるので、以下に基づいてこれを生成するプログラムが必要です。 問題 与えられた入力: a :最初の単語。これは文字列で常に小文字であり、3文字より長いことが保証されています。 b :ログインしているサイト。これは文字列であり、常に小文字であり、空でないことが保証されています。 c :非子音の数。先行ゼロがある場合がある正の整数です。 d :子音の数。これは、先行ゼロがある可能性がある正の整数です。 上記の基準に基づいて文字列を出力します。 テストケース 入力 a="volvo", b="gmail", c=5555, d="0001" G@lvo0001 入力 a="sherlock", b="9gag", c=31415926535, d=3 9@erlock31415926535 入力 a="flourishing", b="+google", c=11111, d=2222 +@ourishing11111 ルール y 子音です。 を決定するcかd整数である場合は、そのように解析して、先行ゼロを無視できます(0091として扱われます91)。 末尾の空白と改行は許可されます。 結果をSTDOUTに出力するか、関数で結果を返します。 aおよびで使用できる文字bは[a-z0-9!@#$%^&*()_+=-]です。 4つの入力を一貫した順序で受け入れることができます。 これはcode-golfです。バイト単位の最短コードが優先されます。
8 code-golf 

3
Golfceptionが到着
ゴルフしながらゴルフをしましょう。 問題: 穴までの距離は当初700m ボールに当たるたびに、250-350mの穴まで進みます。これはランダムです。 各ヒットは水に入る確率が5%であり、これによりペナルティとしてヒット数が1ずつ増加します。 ボールが250m未満の場合、80%の確率で行方不明の距離の70%から90%(再びランダム)進み、14%の確率で90%から99%進み、10%(およびフィニッシュ)の1%と5ペナルティとして水に出てヒット数を1増やす割合。 ボールが10m未満になると、95%がホールに入る(フィニッシング)と5%がミッシングパスの75%進みます。水に行く可能性はありません。 明確化: -ボールが穴から270mにあると想像してください。300mヒットすると、穴までの距離は30になります。つまり、距離は絶対値になります。 -数字が常に整数になるのは、たとえばボールが穴から300m離れているときに300mが当たる確率に対処するためです。 -ヒットのmの数を切り捨てます。1mにいると想像してください。穴に入らないことの5%に落ちると、0進みます。 入力: 何もない 出力: 各ヒットの穴までの距離/ n 総ヒット数 出力例(コメントを印刷しないでください) 433m // 267mのヒット(700-267 = 433) 130m // 303mのヒット(433-303 = 130) 130m //水球+1ペナルティヒット 35m // 95mヒット(130-95 = 35) 7m // 28分間ヒット(35-28 = 7 0m //穴の上のボール 合計ヒット7 // 6ヒット+1ペナルティ これはコードゴルフです!

3
CCC 2016:サークルオブライフ
始める前に、この課題はもともと私のものではありませんでした ウォータールー大学の功績。これは、Canadian Computing Competition 2016、Senior Problem 5によるものです。コンテストPDFへのクリック可能なリンクは次のとおりです。 http://cemc.uwaterloo.ca/contests/computing/2016/stage%201/seniorEn.pdf ここにサイトへのリンクがあります: http://cemc.uwaterloo.ca/contests/past_contests.html チャレンジ 2つの定数値のラッピング配列を指定してn、正の整数入力の進化後の構成を決定しますn。これらの2つの値は、生細胞と死細胞を表します。進化は次のように機能します。 進化! 各反復の後、前の反復でちょうど1つの生きている隣接セルがあった場合、セルは生きています。少なくてもそれは孤独で死ぬ。それ以上、それは過密状態で死にます。近傍は排他的です。つまり、各セルには3つではなく2つの隣接があります。 たとえば、生細胞と死細胞が1001011010どこにあるかを見てみましょう。10 (0) 1 0 0 1 0 1 1 0 1 0 (1) * $ % の細胞はその*両側に死んだ細胞を持っているので、孤独で死ぬ。 の細胞の$片側には生細胞、もう一方には死細胞があります。生きている。 のセルの%両側には生細胞があるため、過密状態では死んでいます。 受賞基準 最短のコードが勝ちます。 I / O 入力は、2つの一貫した値としてのセルの状態のリストと、入力の数を表す整数です。出力は、指定された回数の反復後のセル状態のリストになります。 テストケース start, iterations -> end 1001011010, 1000 -> 1100001100 100101011010000, 100 …

10
Steven Gerrardは何ゴールを獲得しましたか?
スティーブンジェラードは1980年5月30日に生まれました。現在37歳です。お誕生日おめでとう、スティーブン! 彼の記念日を祝うためのあなたの目標は、リバプールのプレミアリーグで彼が毎年獲得した目標の数を思い出させることです。 彼はリバプールでプレーする前または後に得点したゴールを覚えたくありません。それは得点0目標のようなものです。 入力 サッカーシーズンの開始年。 出力 リバプールの今シーズン中にスティーブンが記録したゴール数。 季節と目標のリスト 1998–99 0 1999–2000 1 2000–01 7 2001–02 3 2002–03 5 2003–04 4 2004–05 7 2005–06 10 2006–07 7 2007–08 11 2008–09 16 2009–10 9 2010–11 4 2011–12 5 2012–13 9 2013–14 13 2014–15 9 例 Input Output 2002 5 2017 0 1990 …
8 code-golf 

7
;#リセットなし
;#非常に単純な言語です。2つのコマンドがあります。 ; アキュムレータをインクリメントします # 127を法とするアキュムレータを出力し、アキュムレータをリセットします ;$また、非常に単純で非常に似ています(また、まだ存在しません)。2つのコマンドがあります。 ; アキュムレータをインクリメントします $ は、127を法とするアキュムレータを出力します。ただし、アキュムレータをリセットしません。 チャレンジ ;#コードを;$コードに変換するプログラムを作成します。つまり、a標準的な方法を使用して入力が与えられた場合、彼はと同じものを出力するbような最短の出力を出力します。入力には文字とのみが含まれます。入力には末尾のセミコロンはありません。つまり、正規表現に一致します。これは、入力が空白にならないことも意味します。可能であることに注意してください(と同等)。a;#b;$';''#'(;*#)+;;;;##ord(4) ord(0) 例 ;# code -> ;$ code ;;;;;;;;;;#;;;;;;;;;;;;# -> ;;;;;;;;;;$;;$ ;;;;;;;;;;;;;;#;;;# -> ;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# -> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;$$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ (Hello, World!)

1
(できます)これを実現するために括弧を追加します
私はこの最近の不可解な質問を見ました: 括弧を追加してこれを実現します そして、1つの答えがPythonスクリプトを使用してすべての可能性を試すことがわかりました。 式(文字列として)と整数を指定すると、括弧を追加して式を整数にできるかどうかを判断できるプログラムを作成することが課題になります。 たとえば、式が1 + 2 * 3で整数がである場合、9に等しいの9ような括弧を追加できる(1 + 2) * 3ため、出力は真実である必要があります。ただし、式が1 + 2 - 3 * 4 / 5で整数がの9999999999999場合、括弧を追加してそれを等しくすることはできない9999999999999ため、出力は誤ったものになります。 整数の入力は正または負の場合がありますが、式には正の整数のみが含まれることに注意してください。実際、式は常に一致します(\d+ [+*/-] )+ \d(正規表現)。言い換えれば、ちょうどなし括弧、ノー指数、+、-、*と/。標準の演算子の順序(*and /、then +および-)。 その他のテストケース: 1 + 2 - 3 * 4 / 9 and -1 -> truthy, ((1 + 2) - (3 * 4)) / 9 …

3
ビーコンを構築する
ビデオゲームMinecraftでは、ビーコンを取得してピラミッドのような構造物に配置し、速度やジャンプブーストなどの特殊効果を与えることができます。 あなたの仕事は、効果を考慮して、それに必要なビーコンピラミッドを構築することです。 さまざまな効果に必要なビーコンピラミッドには複数のサイズがあります。最大のものはサイズ9ベースがあり、最小のものはサイズ3ベースがあります。 これらはあなたが得ることができる効果とそれらに必要なピラミッドです(公式のMinecraft wikiで指定されています: 3: Speed I Haste I 5: Resistance I Jump Boost I 7: Strength I 9: Regeneration I Resistance II Jump Boost II Speed II Haste II Strength II ビーコンは下部をベースにして構築され、その後ベースが上がり、サイズが2減少します。1に到達する+と、上部にビーコンがあるはずです。 ビーコンはとして定義され+ますが、機能するにはサポートピラミッドが必要です。 入力は有効である(つまり、ここで指定された効果の1つである)と想定でき、オプションで、入力はすべて小文字であると想定できます。#文字はピラミッドに使用すべきであり、+ビーコンとして。 例: Haste I + ### Resistance I + ### ##### Strength I + ### …

11
言葉への手紙の流れ
文字のみを含む文字列(大文字と小文字を区別しない)が与えられた場合、以下の分布を使用して、ランダムな長さの単語に分割します。ただし、有効な長さ(1〜10)の最後の単語は例外です。出力は、スペースで区切られた文字列("test te tests")、文字列の配列(["test","te","tests"])、またはその他の同様の出力形式として、これらの単語です。 語長分布 Word Length - Fractional Chance / 72 - Rounded Percentage 1 - 2 / 72 - 2.78% 2 - 14 / 72 - 19.44% 3 - 16 / 72 - 22.22% 4 - 12 / 72 - 16.67% 5 - 8 / 72 - 11.11% 6 …

3
Tic Tac Toe:重複することなくすべての可能な位置を印刷します
対応するゲーム結果を含む、可能なすべての三目並べ位置を出力するプログラムを記述します。同じ位置の重複出力を避けてください。 プログラムは入力を受け取りません。 ルール: 位置出力は、取られた正方形を使用する9文字XとO空白の正方形を表す任意の非空白文字で構成されている必要があります。 各位置は3行/列で印刷する必要があり、2つの位置の間の区切りとして空白行が含まれます。 追加の空白/空白行/ボックス描画文字は歓迎されています プレイヤーXが最初に 結果は、のいずれかになります。 Xが勝った Oが勝った ドロー ゲーム進行中 対応する位置の近くに配置されている限り、位置の結果の適切な視覚化を、たとえば色付きテキストやテキスト注釈として自由に選択できます。 回転またはミラーリングによって一方から他方を取得できる場合、位置は等しいと見なされます。重複した位置は印刷しないでください。(つまり、等価クラスのみを出力します。) たとえば、次のいずれかのみを出力します。 X•• ••X ••• ••• ••• ••• ••• ••• ••• ••• X•• ••X これはコードゴルフなので、最短のコードが勝ちます! 出力例: ••• ••• ••• - X•• ••• ••• - •X• ••• ••• - ••• •X• ••• - […] XXO OOX XXO / …

9
何週ですか?
曜日と月は注目を集めているようですが、誰もその週を気にしていないようです。私はそれを変更する時だと思います。したがって、あなたの仕事は、日付が与えられたときに、その年の現在の週に対応する1〜53の整数を出力するプログラムまたは関数を書くことです。 この課題では、年の最初の日曜日が年の初めを表すと言うので、1月1日が第1週と見なされるのは、日曜日になる場合のみです。 入力は、明示的に間の日付の週番号を(ちょうどあなたの答えにフォーマットを指定)を含まない任意の日付フォーマットすることができ1JAN1900、および31DEC2100。 出力は1〜53の整数です 入力/出力を提供する標準的な方法を使用できます。 テストケース 17MAY2017 -> 20 3JAN2013 -> 53 1JAN2017 -> 1 17MAY1901 -> 19 31DEC2100 -> 52 7JUL2015 -> 27 これはコードゴルフなので、すべての標準ゴルフ規則が適用され、最短コード(バイト単位)が優先されます。
8 code-golf  date 

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