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

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

4
不可能キューブかもしれない
問題 aaが真/偽の値である入力が与えられた場合、真である場合は正確に不可能な立方体を、偽である場合は正確な正常立方体を出力します。 入力truthy: ___________________________________ / _______________________________ /| / / _____________________________/ / | / / /| | / / | / / / | | / / | / / /| | | / / /| | / / / | | | / / / | | / / / …

14
あなたはオリンピックのホストです!
あなたはオリンピック大会を主催し、機会のために素晴らしいプールを構築する必要がありますが、監督者はしばしば寸法に関する考えを変え、要求されたサイズでそれを再構築する迅速な方法が必要です! 2つの整数、Lおよびが与えられた場合x、あなたの仕事は長さLとxレーンのスイミングプールを構築することです。 プールはどのように構築されますか? 内側の正方形が含まれ、その水平壁はL連続するダッシュ(-)で作られ、垂直壁は3x - 1バー(|)で作られています。さらに、+各コーナーに4つの標識があります。例(L = 10, x = 2)を見てみましょう: + ---------- + | | | | | | | | | | + ---------- + 各レーンの幅は2垂直ユニットです。内側の正方形はx-1、L水平方向に連続する:シンボルで構成されるレーンセパレーターで満たされています。レーンセパレータを配置すると、プールは次のようになります。 + ---------- + | | | | | ::::::::::: | | | | | + ---------- + プールには、水平方向の壁が(L + 4)sで、垂直方向の壁が(3x + 1)sである内側の正方形を囲むパディング(外側の正方形)も含まれています。-| …

10
魔法の六角形
魔方陣はたくさんありますが、ジェームズ・グライム博士が説明したように、次のような、重要な六角形が1つだけあります。 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 Hexagonyで行われているように、これは1行ずつ読み取るだけで簡単に1行で記述できます。 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 もちろん、回転と反射をカウントする場合、この魔法の六角形の合計12のそのようなリスト表現があります。たとえば、上記の六角形を時計回りに1/6回転させると、 9 11 18 14 6 1 17 15 8 …

10
バイト予算の人々のためのシンプルな暗号化
概要 あなたの目標は、RC4暗号化を実装することです。Ron Rivest(RSAの名声)によって発明されたRC4暗号化は、安全でありながら、戦場で軍の兵士が記憶から簡単に実装できるように設計されました。今日、RC4にはいくつかの攻撃がありますが、今日でも多くの場所で使用されています。 プログラムは、キーとデータの両方を含む単一の文字列を受け入れる必要があります。この形式で表示されます。 \x0Dthis is a keythis is some data to encrypt 最初のバイトは、キーの長さを表します。キーは255バイト以下、1バイト以上であると想定できます。データは任意に長くすることができます。 プログラムがキーを処理してから、暗号化されたデータを返します。RC4の暗号化と復号化は同一であるため、同じキーを使用して暗号化テキストを「暗号化」すると、元のプレーンテキストが返されます。 RC4の仕組み 初期化 RC4の初期化は非常に簡単です。256バイトの状態配列は、0〜255のすべてのバイトに初期化されます。 S = [0, 1, 2, 3, ..., 253, 254, 255] キー処理 状態の値は、キーに基づいて交換されます。 j = 0 for i from 0 to 255 j = (j + S[i] + key[i mod keylength]) mod 256 …

15
拡張真実マシン
多くの人々は、プログラミングにおける真実マシンとは何かを知っています。しかし、私たちが物事を一気に始める時です。拡張真実マシンの紹介!拡張真理値マシンは、整数nと空でない文字列の2つの入力を入力として受け取りますs。s nオプションの末尾の空白を使用して時間を出力します。ただし、nがに等しい場合、プログラムが手動で停止されるまで、つまり終了し0ないように出力sする必要があります。 また、nが負の数の場合、文字列を逆にする必要があります。たとえばs=helloandのn=-1場合、出力はになりますolleh。 入力の標準的な方法、無限を処理できる限りのあらゆる種類の出力。無限を処理しない答えがある場合、それが興味深いか無限の出力を処理できない言語である場合は、気軽に投稿してください。 テストケース n, s, output 5, "hello world", "hello worldhello worldhello worldhello worldhello world" 0, "PPCG", "PPCGPPCGPPCGPPCG..." -2, "truThY", "YhTurtYhTurt" 2000, "o", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" これはcode-golfなので、最短のコードが勝ちます! オリジナルのサンドボックスの投稿はこちらです。編集が行われました。この課題のアイデアを作成してくれた@ComradeSparklePonyに感謝します。

13
グライダーを配置します!
この: はグライダーです。 ConwayのGame of Lifeでは、グライダーは有名なパターンであり、ボード全体を素早く横断します。今日の課題では、ASCIIアートゲームオブライフボードを描画し、その上にグライダーを配置します。 開始するボードは次のとおりです。 |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| このボードは、すべてパイプ|とアンダースコア_で構成されており、10x10です。2つの整数「x」と「y」を取り込んで、それらの座標でグライダーを使用してこの同じボードを出力するプログラムまたは関数を作成する必要があります。たとえば、位置(1, 1)(0インデックス)にグライダーがある場合、次を出力する必要があります。 |_|_|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |_|_|_|*|_|_|_|_|_|_| |_|*|*|*|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| グライダーが決して範囲外に配置されることはないと想定できるため、xとyは常に[0-7]範囲内にあります。1からインデックスを付けた座標を取ることもできますが、回答でこれを指定する必要があります。この場合、入力は常に[1-8]範囲内にあります。以下にいくつかの例を示します(すべて0から始まる): 0, 0: |_|*|_|_|_|_|_|_|_|_| |_|_|*|_|_|_|_|_|_|_| |*|*|*|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| 7, 7: |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_| …

21
空室または空室なし?
私たちは皆、欠員があるかどうかを告げるモーテルの標識を見てきました: 通常、これらには永久にVACANCYの文字が点灯し、モーテルに部屋がない場合はNOの文字が点灯します。 チャレンジ 米国の平均的なモーテルには200室あります。 整数T(取得した部屋用)を入力として受け取るプログラム/関数を作成します。 プログラムは単語を表示しますNO VACANCY。の文字はVACANCY赤で印刷されます。 場合T ≥200の文字はNOまた、赤色で印刷されます。 たとえば、a.outあなたのプログラムと「入力」=コマンドライン引数を仮定します:(私はタイプミスし、私のシステムは大文字小文字を無視します。) ルール プログラム/関数は、大文字と小文字を含む正確な文字列を表示する必要があります(ラムダの場合は返す)NO VACANCY。 プログラム/関数は、テキストの前景色のみを背景ではなく赤に設定できます。 必要に応じて、ANSIエスケープコードを使用して赤色を印刷できます- \x1b[31m動作します。 プログラム/関数は、終了後にシェルのテキストの色を変更しない場合があります。 プログラム/機能は正常に終了する必要があります。 プログラム/関数は、標準出力にのみ印刷する必要があります。 プログラム/関数は、シェル/端末/ IDEのデフォルトの背景色を使用する必要があります。(グラフィカル出力を選択する場合は、赤を除く任意の色を選択できます。) もしT ≤200、の文字がNOあなたのシェル/ターミナル/ IDEのデフォルトのフォアグラウンドカラーで印刷されなければなりません。(グラフィカルな出力を選択する場合は、もう一度好きな色を選択できます) 何らかの理由でシェル/ターミナル/ IDEのデフォルトの前景/背景色が赤の場合、黒の背景とデフォルトの前景で印刷する必要があります。 グラフィカル出力を使用することを選択した場合、赤はプログラムで指定されている場合にのみ使用できます(たとえば、背景色またはデフォルトのテキスト色が赤でない場合があります)。 勝者 code-golfでいつものように、最短のプログラムが勝ちます!グラフィカル出力のブラウニーポイント。 1週間で最短の回答を受け入れます。ハッピーゴルフ! リーダーボード var QUESTION_ID=123146,OVERRIDE_USER=61563;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 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 t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var …
17 code-golf  color 

1
CUBEを平らにします
3Dシェイプを見て、2つの多くの次元があると思いますか。それでは、3Dを1Dにしましょう!(私がそこで行ったことを参照してください?) 仕事 キューブの2D表現(下のレイアウト)を指定し、ポインターに基づいて単一の文字列にフラット化します。 キューブ これは、操作なし(,)とコーナーのポインター()で満たされたキューブのレイアウトです<>v^/。ナビゲーションポインター(NP)は、表示されている場所でプログラムを開始します。 | NP begins here, moving right. V >,,,,,,,,,,,,,,,,,,v , ,, , , , , , , , , , , , , , , , , , , , , , /,,,,,,,,,,,,,,,,,,/ / , , , , , , , , , , , , …

1
回転安全なクイン
すべての回転がそれ自体が適切なクインである適切なクインを書きます。 たとえば、ソースコードがの場合、次のようになりますabcdef。 abcdef 出力します abcdef bcdefa 出力します bcdefa cdefab 出力します cdefab defabc 出力します defabc efabcd 出力します efabcd fabcde 出力します fabcde 回転は、「文字列を2つの部分に分割し、それらの順序を逆にすることによって行われます」。 得点 これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

1
長方形の芝生を刈る
芝生は、1つの文字が2層の表示可能な空白で囲まれた長方形のフィールドとして定義されます。これは、上の2行と下の2行、および左側の2つのスペースのパディングを意味します(右側には目に見える空白があるので、含める必要はありません)。 ||||| ||||| ||||| 刈られた芝生も同様の構造です。ただし、メインキャラクターは最初のキャラクターの短縮バージョンです。 ..... ..... ..... 芝刈り機は、2つの芝生のキャラクターとは異なる2つの異なるキャラクターです。=芝刈り機の背面およびo前面としての例を次に示します。 =o 芝刈り機は芝生の周りを垂直に動き、正面で回転することもできます。上記の芝刈り機は、アニメーションのある時点で以下のいずれかになります。 =o o= o = = o 芝刈り機は、下の芝生にある下の位置のセットで開始できます。芝刈り機はo、芝生を時計回りに回ります。芝刈り機0は芝生を反時計回りに回ります。 = = 0 o =o|||||0= ||||| =0|||||o= o 0 = = アニメーションは0秒から始まります。毎秒、芝刈り機は1スペース先に進み、その前で草を刈ります。芝刈り機がスポットを空けると、刈り取られたように見えます。芝刈り機の前部がライン上の最後の未切断アイテムに到達すると(そしてまだ刈り取られていない草がある場合)、芝刈り機の後部は1回回転して現在の刈り取りを続けます(元の位置に基づいて時計回り/反時計回りに留まります)芝刈り機が終了すると、芝生から完全に離れるまでまっすぐに(すでに刈った草を刈る)続けます。 左上から芝刈り機を開始すると、これは5x3の芝生の基本的な進行を示します。 Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second …

21
piで最初に出現する数字でソートする
負でない数を指定するとn、pin内の最初の出現によっての数字をソートします。 入力は、関数cli引数、またはSTDINを介して、文字列、char []または整数として取得できます。戻り値、終了ステータス、またはSTDOUTを介して出力できます。
17 code-golf  number  sorting  pi 

12
無料のランチのようなものはありません
...またはありますか? あなたの課題は、基本料金、ヒント、割引、クーポン、追加料金を含む私の昼食請求書を解析し、私の昼食が0ドル以下かどうかを調べることです。これが入力の場合: 12.34 15 tip 25 discount 1.5 extra 2 coupon その場合、出力はになる可能性がありますfalse。仕組みは次のとおりです。 12.34 は基本価格です。 15 tip合計に15%を追加することを意味します。 25 discount合計から25%を引くことを意味します。 1.5 extra合計に1.5を加算することを意味します。 2 coupon合計から2を引くことを意味します。 の量があるかもしれませんヒント、割引、クーポン、およびエキストラが、常に1台の価格が存在します。 それから (12.34 * 1.15) * 0.75 + 1.5 - 2、10.14の出力を作成します。10.14は0より大きいため、falseを出力します。私の昼食は無料ではありませんでした。 ルール 数値 tipは、合計に数値パーセントを追加することを意味します。 number discountは、合計からnumberパーセントを引くことを意味します 数値 extraは、合計に数値を追加することを意味します 数の coupon減算する手段の数を、合計から もう一つの例: 10 20 tip 20 discount 2 coupon …

20
それ以外の空の行の空白を取り除く
ああ、このStackのわがままな使い方のもう1つです。 Chromebookの所有者である私は、Cloud9で使用されるエディターであるAce IDEの頻繁なユーザーです。余分な空白を処理するためのツールはたくさんありますが、特に不足しているものが1つあります。空の行をクリアすることです。 今日のあなたの使命は、コピーして[ ;)]に貼り付けることができる場所からの入力を与え、同じものを出力し、それ以外の場合は空の行にすべてのスペースとタブレーターを保存することです。 #削除する空白文字を表すsを使用して、いくつかの例を示します。 入力1: if (this.Color !== 'blue') { ## this.Color = 'blue'; } 出力: if (this.Color !== 'blue') { [empty line] this.Color = 'blue'; } 入力2: function outputSomething(times) { for (var iter = 0; iter < times; iter++) { console.log('"# # " represents a tabulator'); // …

9
絶対パスを短くする
現在の作業ディレクトリを参照として使用して、Linuxツールへのコマンドラインパラメーターなどの長い絶対パスを短縮できる場合があります。 $ pwd /home/heh $ cat /home/heh/mydir/myfile my stuff $ cat mydir/myfile my stuff この課題では、2つのパラメーターを受け取る関数またはプログラムを作成する必要があります。 Linux形式を使用した絶対パス(で始まる/) 同じ形式を使用した現在のディレクトリ 出力は、次のうち短い方です。 入力1は変更なし 絶対パスと同じファイル/ディレクトリを参照する相対パス 細かい点: オペレーティングシステムがLinuxと互換性がある場合は、入力として受け取る代わりに、システムの現在のディレクトリを使用できます。 入力には英数字(およびパス区切り文字)のみが含まれると想定できます。 入力絶対パス/の最後にパス区切り記号がないと仮定できます 入力現在のディレクトリ/の最後にパス区切り文字があると仮定できます 絶対パスが既存のファイルを参照している、またはその一部がアクセス可能なディレクトリであると想定することはできません。ただし、現在のディレクトリは有効であると想定できます。 いずれかのパスの近くにシンボリックリンクがないと仮定できます-シンボリックリンクを処理する特別な方法を必要としないため 入力のいずれかがルートディレクトリである場合をサポートする必要はありません 「現在のディレクトリ」として出力する必要があります.(空の文字列は無効です) テストケース(input1、input2、output): /home/user/mydir/myfile /home/user mydir/myfile /var/users/admin/secret/passwd /var/users/joe/hack ../../admin/secret/passwd /home/user/myfile /tmp/someplace /home/user/myfile /dir1/dir2 /dir1/dir2/dir3/dir4 ../.. /dir1/dir2 /dir1/dir2 .

15
変換テーブルを見つける
2つの文字列が与えられた場合、2つの間の変換テーブル(置換暗号)を見つけ、変換が不可能な場合はfalseを出力します。答えは最小化し、左から右に作成する必要があります。単語間で翻訳される最初の文字は、翻訳テーブルの最初の文字でなければなりません。これに加えて、翻訳されていない(元の場所と同じ場所にある)手紙は、翻訳テーブルに入れないでください。 おそらく例を通して最も簡単に定義できます: 有効なケース "bat", "sap" => ["bt","sp"] 順序に注意してください。出力は["tb","ps"]このチャレンジでは無効です。 "sense", "12n12" => ["se","12"] nは1対1の関係であるため、がどのように変換されないかに注意してください。 "rabid", "snail" => ["rabd","snal"] iは1対1の関係であるため、がどのように変換されないかに注意してください。 "ass", "all" => ["s","l"] Aは含まれず、同じままで、パターンマッチのためにsマッピングできますl。 "3121212", "ABLBLBL" => ["312","ABL"] パターンと完全に一致します。 偽のケース "banana", "angular" => false (同じ長さではなく、不可能です)。 "animal", "snails" => false (各文字は、翻訳の両側で1回のみ使用できます)。 "can","cnn" => false (nは変換で暗黙的に使用されるため、n-> aで変換テーブルを定義することは無効になります) したがって、これ[aimal,sails]は無効な答えであり、これは偽物です。 "a1", "22" => false 「警告」を参照してください。これは偽物としてリストされています。ので、この場合、それはだaと1の両方にマップすることはできません2。(各文字は、翻訳の両側で1回のみ使用できます)。 …

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