プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

8
数字をそれぞれの文字で置き換えます
入力として数値を取り、小文字と大文字のアルファベットのASCIIコードポイントが同等の文字で置き換えられた文字列を出力する関数またはプログラムを作成します。 大文字のアルファベットはコードポイントを使用します。 65-90 小文字のアルファベットはコードポイントを使用します。 97-122 入力内の隣接する数字が文字のコードポイントに等しい場合、その文字が出力文字列の数字を置き換えます。 ルール: 入力は1〜99桁の正の整数になります 有効な入力のみが与えられていると仮定できます 整数の先頭から置換を開始します(976-> a6ではなく9L) 入力は任意の適切な形式にすることができます(文字列表現はOKです) 出力は任意の適切な形式にすることができます 標準ルールが適用されます 例: 1234567 12345C 3456789 345CY 9865432 bA432 6566676869707172737475767778798081828384858687888990 ABCDEFGHIJKLMNOPQRSTUVWXYZ 6711110010100071111108102 Code000Golf バイト単位の最短コードが勝ちます! リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes コードスニペットを表示 var QUESTION_ID=71735,OVERRIDE_USER=31516;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 …
23 code-golf  string 

3
これらの債券格付けを並べ替える
タスク 信用格付機関発行体の信用度に応じて債券へのアサイン評価、そして「ビッグスリー」の信用格付機関は、同様の(ただし同一ではない)を使用する階層型評価システムを。これらには明確で論理的な順序があります-S&Pティアを使用して、AAA> AA +> AA> AA-> A +> ...> BBB> B> ...> C. Aaa> Aa1> Aa2> ...> Baa1> ...> C)。 あなたの仕事は、債券格付け層を表す文字列のリストを入力として受け取り、同じリストを出力し、最高層(AAA / Aaa)から最低層(C)に降順でソートするプログラムを設計することです。 入出力 入力の形式(リスト、引数ごとに1つ、CSVファイル)を選択できます。入力リスト内のすべての項目が有効な評価文字列であり、リスト内のすべての評価文字列が同じ評価機関からのものであると想定できます。さらに、「NR」や「WR」などのファンキーなNAスタイルの評価は一切含まれないと想定することができます-これは厳密に「Aaa / AAA」から「C」までです。入力リストに重複した評価がある場合があり、見つかった場合は削除しないでください。 言語に適した出力形式を選択することもできますが、唯一の制限は、UTF-8やASCIIなどの標準テキストエンコーディングを出力することです。 ルールとスコアリング これはコードゴルフであるため、最小バイトカウントが優先され、標準の抜け穴は許可されません。入力形式と出力形式を指定してください。 サンプルプログラムとテストケース 以下のPythonプログラムの例は、正しいソート順の標準的な例として使用できます。リストMoodyとSPは、使用する順序です。 Moody = ['Aaa', 'Aa1', 'Aa2', 'Aa3', 'A1', 'A2', 'A3', 'Baa1', 'Baa2', 'Baa3', 'Ba1', 'Ba2', 'Ba3', 'B1', 'B2', 'B3', …

10
XORORシーケンス
セルオートマトンは本当に魅力的です。通常語られるのはバイナリー、つまり数値で表現できるものです。しかし、私の意見では、それらは死ぬまで行われました。三項CAはより興味深いものですが、考慮すべきASCIIがすべてあります!なんて楽しいのでしょう! 各キャラクターのルールセットを決定する代わりに、すぐに説明する簡単な決定ルールを使用します。次世代を決定するために、セルオートマトンのように3つの「トップ」セルを調べます。例に注目してください。 QWERTY X Y Z の「上部」はでYありWER、上下左右のセルです。Yは、3文字の文字列に対する関数である、定義しようとしている関数の結果になります。の「トップ」Xは QW、または存在しない/欠落しているセルを埋めるスペースです。 さて、楽しい機能のために!このシーケンスをXORORシーケンスと呼んでいます。をA左上のセルの文字コード、B上のセルの文字コード、C右上のセルの文字コードにします。次に、結果のセルは、文字コードがの文字(A XOR B) OR C、つまりです(A^B)|C。(結果の値が126より大きい(CHARCODE % 127) + 32場合、値は32に設定されます。値が32より小さい場合、何も実行されません。)以下にシードの例を示しHello, World!ます。 S: Hello, World! 0: mmmo/c_ z}~)e m = ( )^(H)|(e) = (32^72)|101 = 104|101 = 109 (m) m = (H)^(e)|(l) = (72^101)|108 = 45|108 = 109 (m) etc. 1: mmo/c_< +wl 2: …

28
交差した正方形の作成
交差した正方形の作成 1つ以上の整数を入力し、選択した任意の印刷可能文字で作られた正方形を出力し、中央を斜めにクロスします。 一般的な考え方は、出力が対角線のクロスを持つ中空の正方形になることです。 Input: 7 Output: ******* *# #* * # # * * # * * # # * *# #* ******* 上記の例では、「*」は外側のボックスを表し、「#」は斜めの十字を表します。 上記の例では2つの異なる文字を使用しているため、出力がどのように見えるかがわかりやすくなります。プログラムでは1文字のみを使用する必要があります。 入力 1以上の整数で、奇数であることが保証されています。 出力 選択したキャラクターで構成され、中央に十字がある正方形。 十字は対角線でなければなりません 正方形は、関数を介して出力するか、outputに書き込むことができます 末尾の改行は問題ありません 必要に応じて、グラフィック、図、または画像として出力できます 例 Input: 1 Output: * Input: 3 Output: *** *** *** Input: 5 Output: ***** ** ** …

10
タイムラインを描く
日付を表す整数のリストの入力が与えられた場合、次のようなASCIIアートタイムラインを出力します。 <-----------------------------> A B C D E 上記のタイムラインはinputの出力です[1990, 1996, 1999, 2011, 2016]。タイムラインに関するいくつかのことに注意してください。 出力の最初の行は小なり記号(<)、ダッシュの数に等しいdateOfLastEvent - dateOfFirstEvent + 3(最後の日付を含めるために1つ追加し、次にパディングのためにさらに2つ追加する必要があるため)、その後に大なり記号(>)です。 出力の2行目では、各イベントが位置に配置されdateOfEvent - dateOfFirstEvent + 2ます(インデックスがゼロの場合)。したがって、最初のイベントは2、の2文字右の位置に配置され<、最後のイベントは、同様にの左の2文字に配置され>ます。 各イベントは文字で表されます。イベント1はA、イベント2はBなどです。26を超えるイベントはありません。必要に応じて小文字を使用できます。 末尾の空白はありません。許可される余分な空白は、プログラムの最後にある末尾の改行のみです。 さらに、 イベントは必ずしも順番に与えられるわけではありません。ただし、日付は依然として配列内の位置に従ってラベル付けされます。たとえば、の入力は[2, 3, 1, 5, 4]出力する必要が あります <-------> CABED 入力として1つ以上のイベントが与えられる場合があります。たとえば、の入力は[12345]出力する必要があります <---> A 入力に重複した日付が含まれることはないと想定できます。 入力は、整数/文字列の配列/リスト、または非数値文字で区切られた単一の文字列として指定できます。入力として提供される日付の許容範囲はです1 ≤ x ≤ 32767。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース: 32767 32715 32716 32750 32730 32729 …

21
これは有効な変数名ですか?
目的 変数名が有効と出力1である場合、またはチェックそのプログラムまたは機能を記述しTrue、それが有効である場合0.5、それが有効であるが、下線(_)で始まり、0または場合はFalse、それが有効でない場合。 ルール ほとんどの言語の変数名は、アンダースコアまたは文字(az、AZ、_)で始まり、残りの文字がアンダースコア、文字、または数字の場合に有効です。(az、AZ、0-9、_) 出力1またはTrue変数名が有効なFalse場合は0、無効な場合は0 。 ただし、変数をアンダースコアで開始することはお勧めできません。したがって、変数がアンダースコアで始まり、名前が有効な場合は0.5を返します。 テストケース 入力 abcdefghijklmnop 出力 1 入力 _test_ 出力 0.5 (アンダースコアで始まります) 入力 123abc 出力 0 (数字で始まる) 入力 A_b1C_23 出力 1 入力 _! 出力 0 (有効ではないため0.5ではありません) 入力 magical pony1 出力 0 (場所がない) 標準の抜け穴が適用されます。 これはcode-golfなので、最短のコードが優先されます。 ボーナス:プログラム/関数が0空の文字列("")を出力する場合、-10%。
23 code-golf  string 

12
垂直スライスの決定
画像が与えられたら、[完全な垂直断面のピクセル単位の幅] 1(存在する場合)を出力します。垂直断面が存在しない場合は、を出力します0。 入力は、ローカルファイルまたはネストされた配列として提供されます。入力をネストされた配列として取得することを選択した場合、白いピクセルは真実の値で表され、非白いピクセルは偽の値で表されます。 1.連続した、すべて白い列の数 あなたはそれを仮定することができます 1000平方ピクセルを超える画像はありません 画像ごとに垂直セクションが1つしかありません 例 入力: 出力: 50 57 0 0 以下に、セクションを示すために強調表示された(黄色で)最初の2つの例を示します。

13
巣を離れる
整数の非フラットリストが指定されている場合、左から右に読むと、入力リストの元の順序の値で、ネストの最小レベルから始まる各ネストレベルの整数を含むリストのリストを出力します。入力リストで2つ以上のリストが同じ入れ子レベルにある場合、それらを出力で1つのリストに結合する必要があります。出力には空のリストを含めないでください。リストのみを含むネストレベルは完全にスキップする必要があります。 整数はすべて(範囲内)の範囲にあると仮定できます[-100, 100]。リストの最大長またはネストの深さはありません。入力には空のリストはありません。すべてのネストレベルには、少なくとも1つの整数またはリストが含まれます。 入力と出力は、言語のネイティブリスト/配列/列挙可能/反復可能/などである必要があります。形式、または言語にシーケンス型がない場合は、合理的で明確な形式。 例 [1, 2, [3, [4, 5], 6, [7, [8], 9]]] => [[1, 2], [3, 6], [4, 5, 7, 9], [8]] [3, 1, [12, [14, [18], 2], 1], [[4]], 5] => [[3, 1, 5], [12, 1], [14, 2, 4], [18]] [2, 1, [[5]], 6] => [[2, 1, …

9
2D印刷されたオブジェクトの容量を見つける
架空の2Dの世界では、オブジェクトの一連の2D印刷命令は、次のように整数のリストで表すことができます。 1 4 2 1 1 2 5 3 4 各数値は、その特定のポイントでのオブジェクトの高さを表します。上記のリストは、印刷時に次のオブジェクトに変換されます。 # # # # # ### ## #### ######### 次に、できるだけ多くの水を入れて、次のようにします。 # #~~~~#~# #~~~~### ##~~#### ######### オブジェクトの容量は、オブジェクトが完全に一杯になったときに保持できる水の単位として定義します。この場合、11。 厳密に言えば、同じ列の~2つの固体ブロック(#)に囲まれている場合にのみ、水の単位()がその場所に存在できます。 チャレンジ 入力として正の整数のリスト(任意の形式)を取得し、リストが命令として使用されるときに出力されるオブジェクトの容量を出力します。 リストには少なくとも1つの要素が含まれ、すべての要素は1〜255であると想定できます。 テストケース +-----------------+--------+ | Input | Output | +-----------------+--------+ | 1 | 0 | | 1 3 255 1 | …

15
幾何学的な挑戦
誰もがジオメトリを愛しています。では、なぜゴルフをコーディングしてみませんか?この課題には、文字や数字を取り入れ、それに応じた形を作ることが含まれます。 入力 入力はの形式になり(shapeIdentifier)(size)(inverter)ます。 しかし、shapeIdentifier、サイズ、およびインバーターは何ですか? 形状識別子は、*s で作成する形状のタイプの識別子です。形状識別子は次のとおりです。 s - 平方 t -三角形 サイズはの間1-20になり、それは図のサイズです。 インバーターは、形状が逆さまになるかどうかであり、a +またはaで示され-ます。注: s3-==(等しい)s3+正方形は対称であるため。ただし、t5-!=(等しくない)t5+。 出力では末尾の空白は問題ありませんが、先頭の空白はそうではありません。 出力例 Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * 特記事項 三角形の入力は常に奇数になるため、三角形は常に*上部が1 で終わります。 三角形のサイズは、インバーターの場合は底辺 +のサイズであり、インバーターの場合は上部のサイズです-。
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 


17
共素数と数pi
前書き 数論は、予想外のつながりという形で驚異に満ちています。そのうちの1つです。 二つの整数は互いに素彼らは数を考えると1より一般的な他に何の要因を持っていない場合はN、1からのすべての整数を考えるN。このような整数をランダムに 2つ描画します(すべての整数は、各描画で同じ確率で選択されます。描画は独立しており、置換されます)。してみましょうpは選択された2つの整数が互いに素である確率を表します。次いで、pは 6 /傾向にあるπ 2 ≈0.6079 ...としてNが無限大になる傾向があります。 チャレンジ このチャレンジの目的は、pをNの関数として計算することです。 例として、N = 4を考えます。整数1,2,3,4から得られる16の可能なペアがあります。これらのペアの11は、互いに素、つまり(1,1)、(1,2)、(1,3)、(1,4)、(2,1)、(3,1)、(4,1 )、(2,3)、(3,2)、(3,4)、(4,3)。したがって、N = 4の場合、pは11/16 = 0.6875です。 pの正確な値は、少なくとも4つの小数で計算する必要があります。これは、計算が決定論的でなければならないことを意味します(モンテカルロとは対照的に)。ただし、上記のようにすべてのペアを直接列挙する必要はありません。任意の方法を使用できます。 関数の引数またはstdin / stdoutを使用できます。出力を表示する場合、末尾のゼロは省略できます。したがって、たとえば0.6300として表示できます0.63。分数ではなく、10進数として表示する必要があります(文字列の表示は63/100許可されていません)。 勝利基準は最小バイトです。組み込み関数の使用に関する制限はありません。 テストケース 入力/出力(上記のように、小数点以下4桁のみが必須です): 1 / 1.000000000000000 2 / 0.750000000000000 4 / 0.687500000000000 10 / 0.630000000000000 100 / 0.608700000000000 1000 / 0.608383000000000

11
サンタは贈り物を配達するために何人のエルフを必要としますか?
サンタは、各家に贈り物を届けるのに必要なエルフの数を決めるのに助けが必要です。 石炭はプレゼントよりかなり重いので、サンタは家のいたずら好きな人ごとに3匹のエルフを必要とします。サンタがプレゼントを運ぶのを助けるのに必要なエルフは2人だけです。 サンタの地図では、家はで表され、*各家はで分割されてい+ます。 家の両側に数字が表示されます。左側の数字は家の中のいたずら好きな人の数を表し、右側の数字は家の中の素敵な人の数を表します。片側に番号がない場合、0として解釈されます。 サンタはクリスマス気分にない人を訪問しません(彼らは石炭に値することすらありません)。したがって、時々、家の両側に数字がないかもしれません。この場合、サンタはエルフの助けを必要としません たとえば、サンタの地図の1つは次のようになります 1*3+2*2+1*+*2 最初の家にはいたずらが1 つ、素敵な3 つがあり、サンタは9つのエルフを必要とします。2番目には、2つのいたずらと2つの素敵なサンタがあり、サンタは10個のエルフを必要とします。3番目の家にはいたずらが1 つ、すてきな0があり、サンタには3つのエルフが必要です。最後の家にはいたずらが0 つ、すてきな2 つがあります。 ただし、これはサンタの地図の1つを単純化したバージョンです。通常、サンタの地図には複数の線があり、リストにうまく収まるように正方形になっています。法線マップは次のようになります(\n各行の最後) 1*2+*+*4+1* 2*4+3*+1*6+* *+*+4*2+1*1 *4+*3+1*+2*3 3*10+2*+*5+* このマップでは、サンタのニーズ((1 + 0 + 0 + 1 + 2 + 3 + 1 + 0 + 0 + 0 + 4 + 1 + 0 + 0 + 1 + 2 …
23 code-golf  string 

3
プログラミングパズルとTaco Truck
プログラミングパズルとコードゴルフはタコストラックをオープンしました!言葉が出てきて、今、Stack Exchangeネットワーク全体のユーザーが、おいしい、本格的なASCII タコスを試しに来ています。誰もがタイムリーに注文を受け取ることができるように、あなたの助けが必要です。フードトラック内には十分なスペースがないので、コードはできるだけ短くする必要があります。 今、いくつかの実地訓練のために。 あなたの仕事 STDINから順序を読み取る完全なプログラム、または入力として単一の文字列順序を取得する関数を作成します。タコスは、注文に応じて、STDOUTに印刷されます。 注文する 顧客は、STDINまたは関数の引数を使用して注文を行います。注文は、目的のトッピングのコンマ区切りリストの形式になります。トッピングが与えられる順序は、タコスに表示される順序を決定し、最初にリストされたトッピングが一番下に、最後が一番上にあります。在庫品は次のとおりです。 豆 ご飯 野菜 レタス グアカモーレ サワークリーム サルサ 顧客は、トッピングを1つだけ注文できますが、トッピングは5つまで注文できます。トッピングは明確である必要はありません。 顧客は注文する前にメニューに精通しているため、すべての注文には在庫のある材料のみが含まれていると想定できます。つまり、入力は常に有効です。 タコスを提供 顧客は、タコスをSTDOUTに印刷することを要求します。彼らは彼らの食べ物にいくつかの先頭または末尾の空白があっても大丈夫です。 市場調査によると、誰もがタコスを言葉として食べたいと考えており、すべての大文字の言葉はもっと風味豊かです。したがって、スペースなしですべての大文字でトッピングをリストします。 芸術的な表現のために、トルティーヤに物を入れてそれを良いと呼ぶことはできません。トッピングを左から右に優しく置き、必要に応じて折り返し、繰り返す必要があります。各トッピングには、最低2行が含まれます。サンプルのプラッターを検査すると、これはすべて明確になります。 サンプルプラッター いくつかのサンプル注文を見てみましょう。 顧客の注文: Beans,Veggies,Rice,Lettuce,Sour Cream 提供するもの: SOUR CREAMS T LETTUC L O ELETTU I R RICERI T T CERICE R I VEGGIE O L SVEGGI T L BEANSB A …

25
バイナリシェルピンスキー三角形シーケンスの計算
Binary Sierpinski Triangleシーケンスは、バイナリ表現がBinary Sierpinski Triangleの行を与える数のシーケンスです。これは、ゼロの無限行の1から始まり、ビットのすべてのペアをそれらのビットのxorで繰り返し置換することによって与えられます、 そのようです: f(0)= 1 =1 f(1)= 1 1 =3 f(2)= 1 0 1 =5 f(3)= 1 1 1 1 =15 f(4)= 1 0 0 0 1 =17 OEISでさらに数字が提供されています:https : //oeis.org/A001317 入力:任意の形式の非負整数n。(30までのすべてのnで動作する必要があります。) 出力:10進数としてのシーケンスのn番目の用語(0から始まる)。 これはコードゴルフですので、あなたの言語が可能なバイト単位で最短の答えを与えてみてください。回答は受け付けられません。このチャレンジが投稿された後に作成/変更された言語を使用できることを除いて、標準の抜け穴が適用されます(たとえば、シーケンスをハードコーディングしない)。(ソリューションが短い場合を除き、既に使用されている言語で別のソリューションを投稿しないでください。) リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> …

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