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

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

4
C(N)桁でA(N)/ B(N)を計算する
A、Bおよびの3つの数値シーケンスを考えCます。 A:f(n) = f(n-1)+f(n-2)で始まる再帰関係に基づくシーケンスf(1) = 3, f(2) = 4。したがって、シーケンスは次のように始まります。3 4 7 11 18 29 47 76 ... B:合成数、つまり素数(または1)ではないすべての整数:4 6 8 9 10 12 14 15 16 ... C:Piの数字: 3 1 4 1 5 9 2 6 5 ... 正の整数を考えるとN < 50、どちらかの関数の引数やSTDINとして、分数の小数の値を返すA(N)/B(N)とC(N)小数点以下の桁数。丸めの通常の規則が適用されます(N + 1番目の桁が5以上の場合は切り上げ)。のN桁目piがゼロの場合、整数を出力する必要があります。科学表記法/標準形式は、1000を超える数に対応しています。 これはコードゴルフであるため、バイト単位の最短回答が優先されます。 いくつかの例: N = 1: 0.750 N …

1
算術…トック…ティック…トック
この質問は、長い電話会議で立ち往生しているときにプレイしたいゲームによってもたらされました。 24時間制(00:00から23:59)の任意の2つの時刻が与えられた場合、基本的な算術演算のみを使用して、その間のすべての時間で有効な数学方程式をいくつ生成できますか? 入力: 24時間サイクルの有効な時間を表す2つの4桁の文字列(コロンなし)。 例: input = 0000、1300の場合 03:26 produces: "0+3*2=6" and "03*2=6" etc. 11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc. 12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc. 有効な操作は次のとおりです。 添加 引き算 乗算 除算(浮動小数点) べき乗 階乗 その他の許可される記号 括弧 等号 最短のコードが優先されます。 ノート 目標は、有効な式を含む回数ではなく、2回の間の有効な式の数を見つけることです。 入力として指定された2つの時間は、時間の範囲に含まれます。 可能な任意の方法で数字をグループ化できます。そのため、「1223」は「12 23」、「1 2 23」、「1 …

3
道順を与える
チャレンジ 次のような友人に地図を渡しました: | / | / | \ | \ D 上部で始まり下部で終わる単純なマップ。悲しいことに、あなたの友人はそれを取得しません。彼がそれを読むことができるようにマップをデコードできますか? 入力 入力は、以下からなる文字列であり|、/、\、D、^、Y、 (空間)、および改行。 | 同じ列にとどまるように指示します。 \ 右下の列に移動するよう指示します1。 / 左および下の列に移動するように指示します1。 D 宛先をマークします。 ^ (存在する場合)パスの分割を示します。 Y(存在する場合)パスの再結合を通知します。のように扱い|ます。 入力は、一種のパ​​スを作成するように配置されます。 | | \ | ^ / \ / | D | 2つのパスの間には常にスペースがあり、すべてのパスは再結合するか、入力の最後の行に到達します。マップごとに1つの分割のみがあります。入力マップの長さに制限はありません。2つ以上のパスが存在することはありません。 出力 出力は方向の文字列である必要があります。 「L」は、友人にLを左に動かし、一歩前進するように指示する必要があります。 「Rは、」移動にあなたの友人を教えてくださいR IGHTと前進1歩を踏み出します。 「F」は友人に1歩先に進むように指示する必要があります。 入力マップ例の場合、出力は次のようになります。 F F L F …
15 code-golf 

5
最寄りの時計の針を見つける
チャレンジ 真夜中を過ぎた秒数が与えられたら、可能な限り少ないバイトを使用して、時計の文字盤の任意の2つの針の間の最小の角度を出力します。 秒数は常に86400未満であると想定できます。角度は度またはラジアンで表すことができます。 リファレンスソリューションは次の場所にあります。 http //ideone.com/eVdgC0 テストケース(度単位の結果) 0 -> 0 60 -> 0.5 600 -> 5 3600 -> 0 5400 -> 45 6930 -> 84.75 50000 -> 63.333 明確化 時計には3つの針があります:時間、分、秒。 すべての針は連続的に動くため、時計の文字盤の目盛りの間には時針と分針があります。

2
水風船を埋める
この課題では、風船に満たされた水の量を考慮して、水風船のASCIIアートを表示する必要があります。 | __||__ | | / # #\ | | |######| | | |######| | | |######| | | |######| | | |######| | | \######/ | | | | | +----------+ 風船の描き方 サイズのバルーンを表示するnには、次の手順に従います(注:除算記号(/)が使用される場合は常に、整数の除算を表し、切り捨てます)。 |左右に10 本の垂直バー()-、下部に10個のダッシュ()、および左下と右下にプラス記号(+)で構成されるコンテナーを描画します。これにより、全体が12x11になり、「内部」が10x10になります。 | | | | | | | | | | | | | | …

9
単項へのBrainf ** kおよび戻る
制限されたソースおよび他のそのような課題に非常に有用である言語がある単項、プログラムは一つだけの文字で書かれているbrainfuck誘導体。あなたの仕事は、プログラムをBrainfuckから単項に変換するプログラムと、逆のプログラムを作成することです。両方のプログラムは同じ言語で作成します。スコアは、2つのプログラムの長さの合計になります。 どのようにブレインファックから単項式に変換しますか? この表に従って、最初にあなたのコードをバイナリに変換します: 次に、コードを1つの巨大な2進数にコードの順序で連結します。 1文字列の先頭にa を付けて、一意の2進数を確保します。 任意の文字を使用して、2進数から単項数に変換します。 例:+.だろう000000000000000000000000000000000000000000000000000000000000000000000000000000000000(84ゼロ)。 Brainfuck->単項仕様 結果のプログラムは信じられないほど巨大になるため、実際のプログラムではなく、結果のプログラムの長さだけを印刷します。 stdin、関数argなどを使用して、brainfuckプログラムを文字列として取得し、長さを出力します。 プログラムは常に有効で、8文字しか含まれていません。 単項-> Brainfuckの仕様 上記のアルゴリズムの逆を実装する必要があります。 ここでも問題のサイズが大きいため、入力は単項コードの長さを表す数値になります。 いつもと同じI / Oルール。 プログラムは常に有効で、8文字しか含まれていません。 テストケース Hello World- ++++++[>++++++++++++<-]>.>++++++++++[>++++++++++<-]>+.+++++++..+++.>++++[>+++++++++++<-]>.<+++[>----<-]>.<<<<<+++[>+++++<-]>.>>.+++.------.--------.>>+.=239234107117088762456728667968602154633390994619022073954825877681363348343524058579165785448174718768772358485472231582844556848101441556 フィボナッチ- ++++++++++++++++++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++++>++++++++++++++++>>+<<[>>>>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>[<+>-]>[-]>>>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>>[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<<<++++++++++++++++++++++++++++++++++++++++++++++++.[-]<<<<<<<.>.>>[>>+<<-]>[>+<<+>-]>[<+>-]<<<-]<<++...=13067995222095367150854793937817629722033205198624522624687536186118993888926522550140580142585590431635487113180955099384652678100247403485397450658564826143160529351955621991895221530908461364045400531236124980271740502887704217664044858614821622360156740992393765239123681327824577149595724956207165558106099868913919959549896553103116795519592552089266360725543244154867904980260 これはコードゴルフなので、バイト単位の最低スコアが勝ちです! Unaryで解決策を考えている人はいますか?; P

3
バロウズ、ホイーラー、バック
バックグラウンド バローズ-ウィーラー変換(BWT)のようなプレーンテキストとして文字列の特定の種類の類似文字の大実験における結果は、文字列の文字の可逆的置換です。たとえば、bzip2圧縮アルゴリズムで使用されます。 BWTは次のように定義されます。 などの入力文字列が与えられた場合、codegolf可能なすべての回転を計算し、辞書式順序で並べ替えます。 codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg 文字列のBWTは、codegolf各文字列の最後の文字がその順序で構成されている文字列、つまり上のブロックの最後の列です。のためcodegolf、これはをもたらしfodleocgます。 文字列codegolfとgolfcode結果は同じ文字列になるため、この変換自体は可逆的ではありません。ただし、文字列がで終わることがわかっている場合f、可能なプレイメージは1つだけです。 仕事 STDINから、またはコマンドラインまたは関数の引数として単一の文字列を読み取り、BWTまたはその入力文字列の逆数を出力または返す、複雑なプログラムまたは関数を実装します。 入力文字列にスペースが含まれていない場合、サブミッションは入力に単一のスペースを追加し、BWTを計算する必要があります。 入力文字列にすでにスペースが含まれている場合、後続のスペースがあるBWTのプリイメージを計算し、そのスペースを削除する必要があります。 例 INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: ProgrammingPuzzles&CodeGolf INPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< OUTPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R INPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R OUTPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 追加のルール …

13
10進数の時刻変換
前書き 時間は混乱しています。60秒から1分、60分から1時間、24時間から1日(そして厄介なam / pmは言うまでもありません!)。 今日、そのような愚かさの余地はないので、私たちは唯一の賢明な代替案を採用することに決めました:小数日!つまり、各日は1単位とみなされ、それより短いものはその日の小数部として書き込まれます。たとえば、「12:00:00」は「0.5」と記述され、「01:23:45」は「0.058159」と記述されます。 新しいシステムに慣れるには時間がかかるため、双方向で変換できるプログラムを作成する必要があります。 チャレンジ 「hh:mm:ss」のISO-8601形式で現代の時刻を指定すると、選択した言語でプログラムを記述し、同等の10進小数単位を返します。同様に、小数を指定すると、プログラムは最初に指定された最新の形式で時刻を返す必要があります。 次の前提を立てることができます。 現代の時間の入力と出力は、「00:00:00」から「24:00:00」の範囲で指定できます 10進数の時間の入力と出力の範囲は「0」から「1」であり、最大5桁の小数点以下桁数(「0.12345」など)を受け入れ/出力できる必要があります。より高い精度が許容されます プログラムは、入力に基づいて実行する変換方向を認識できる必要があります。 時間関連の関数/ライブラリを使用できません 勝者は、基準を達成する最短のコードによって決定されます。それらは、少なくとも10進数の7日単位で、または十分な提出があった場合に/選択されます。 例 例として使用するJavaScriptコードの(意図的に)不十分な記述を以下に示します。 function decimalDay(hms) { var x, h, m, s; if (typeof hms === 'string' && hms.indexOf(':') > -1) { x = hms.split(':'); return (x[0] * 3600 + x[1] * 60 + x[2] * 1) / …

2
中括弧などを修正する
あなたの使命は、あなたがそれを受け入れることを選択した場合、括弧、括弧、および括弧の最小数を追加して、特定の文字列(括弧、括弧、および括弧のみを含む)が正しい括弧に一致するようにすることです。ペアのブレース間の最大距離を確保することにより、追加されたシンボルの結び付きを解除する必要があります。これら2つのルールに一致する正しい答えを1つだけ返す必要があります。関係が存在する場合、それ以上の関係は、適切と思われる方法で破損する可能性があります。 例: input output // Empty String is a legal input [ [] // Boring example [()] [()] // Do nothing if there's nothing to be done ({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}}) [([{])]} {[([{}])]} // NOT …

2
RoboCrittersをBrainfに翻訳***
RoboCritters(語源)は真新しい難解なプログラミング言語です(気にせずに探してみてください、私はそれを発明しました)。これはBrainfuck(BF)の一種で、通常の演算子置換スキームよりも少し複雑です。RoboCrittersのすべてのプログラムは、7文字のみを含むテキストの長方形のグリッドに加えて、グリッドを形成する改行です。. []/\| RoboCrittersプログラムの例: |\/||./|[]|| [..][][] | |/\|[..][..] [..] \/\/ RoboCrittersプログラムをBFに変換するには、グリッド内の各非改行文字を通常の読み取り順序(左から右、次に上から下)で見てください(例:)|\/||./|[]||[..][][] ||/\|[..][..][..] \/\/。 現在のキャラクターから右下に伸びるグリッドの4×2セクションが、以下にリストされている8つのロボットクリッターのいずれかに正確に一致する場合、対応するBFコマンド(><+-.,[])を(最初は空の)BFプログラムに追加します。 4×2グリッドセクションの場合 がロボットクリッターのいずれとも一致しないか、範囲外になった場合、BFプログラムには何も追加されません。 ジョイボット、>コマンド: [..] \][/ Calmbot、 <コマンド: [..] /][\ Squidbot、 +コマンド: [..] //\\ スパイダーボット、 -コマンド: [..] |||| バニーボット、 .コマンド: [][] [..] トゥースボット、 ,コマンド: [..] |/\| Foxbot、 [コマンド: |\/| [..] バットボット、 ]コマンド: [..] \/\/ したがって、サンプルプログラムを読む |\/||./|[]|| [..][][] | …

7
レストランはどこに置けばいいですか?
あなたはレストランのオーナーです。y軸と呼ばれる主要道路が1つしかないデカルトの新しいエリアに開通しています。あなたのレストランとそのエリアの各家からの合計距離を最小化するようにレストランを配置したい。 入力: 入力は n, the number of houses house1 house2 house3 ... houseN ここで、各家はフォームの座標x yです。各単位は1キロメートルを表します。 入力を文字列として取得するか、引数として選択した形式で入力を取得する関数を提供できます。 出力:レストランのy座標(y軸に配置されることに注意してください)。実際には、道路の脇にありますが、違いはごくわずかです。 n番目の家であれば基本的に、h_nかつD距離関数である、あなたが見つけたいkというようにD(h_0, (0, k)) + D(h_1, (0, k)) + D(h_2, (0, k)) + ... + D(h_n, (0, k))最小化されます。 距離は、顧客が自宅からレストランまで正確に直線で移動するかのように計算されることに注意してください。それは(x, y)あなたのレストランまでの距離ですsqrt(x^2 + (y - k)^2)。 出力は、少なくとも小数点以下2桁まで正確でなければなりません。 出力は文字列として出力するか、関数から返すことができます。 入出力の例: Input: 2 5.7 3.2 8.9 8.1 Output: …

4
40本のスティックを注文する
幅が同じで高さが異なる40本のスティックがあります。右から見ると10本のスティックが見え、左から見ると再び10本のスティックが見えるように、それらを並べて配置できる配置はいくつありますか? たとえば、このような順序は次のとおりです。 黒い棒は隠れており、赤い棒は左から見たときに見ることができるものであり、青い棒は右から見たときに見ることができるものであり、紫色のもの(つまり最も長いもの)は見ることができるものです両側から。 テストケースとして: 左から2つ、右から2つを見るために3スティックの注文数がある場合は2 5本のスティックがある場合、左から3つ、右から3つを見るための注文数は6です。 10スティックの場合、左から4つ、右から4つを見るための注文数は90720です。

14
CodeGolf-ノイズを無視する#1
説明書 Barryは、クライアントのショップで行われた購入に関する情報を提供する小さなAPIを担当するそれほど優れたバックエンド開発者ではありません。ただし、彼は素晴らしい仕事をしておらず、上司から代わりにクライアント側で修正するように言われています。理想的にはあなたのようなカンマ区切り値を受けるべき927,2,45,90のようなものに対応しますitem_id、item_amount、unit_price、total この最初のパズルでは我々だけを気にitem_idしてitem_amountいますが、問題を提示する代わりに他のフィールドを必要としています。バリーは、時々混ぜものとリターンノイズ出力の一部として、彼はまた戻って、順序が間違っを取得を取得しnoise、noise、unit_price、total、item_id、item_amount。 あなたのタスク あなたはのペアマップ(または類似の構造)に格納する必要があるitem_idとitem_amountにかかわらず、バリーが正しくかどうか、それらを返し、可能な文字の最小数に新しい行の各要素を印刷するかどうか。(保存は必須ではなく、出力に注意するだけです) サンプル入力(正しい形式と乱雑な形式の混合) 103,2,50,100 106,1,900,900 459,40,150,300,67,2 4,20,30,6000 言い換えると、入力は、&が重要な場所のいずれかa,b,x,xまたはx,x,x,x,a,b場所になります。csvのすべての行で(または他の名前)と呼ばれる変数があると仮定して、コードを提供する必要があります。abG サンプル出力 103,2 106,1 67,2 //This one was messy 4,20 公差 答えになると、許容範囲に一定のマージンがあります。同様の形式で正しい値に準拠した回答も受け入れられます。フォーマットは好き[a,b]、(a,b)または{a,b}有効であるが、a,b好ましいです。 最初のパズルは、簡単かつ迅速に解決できるという事実により、受け入れられていましたが、一部の人々もそれを気に入っていると感じました。それで、今のところクイックゴルフを続けます

6
リアルタイムの文字列照合
仕事 タスクは、選択したリアルタイムの正確な文字列照合アルゴリズムをゴルフすることです。 入力 新しい行で区切られた、標準入力で提供される2行のテキスト。最初の行には「パターン」が含まれており、単にcharactersから描かれたASCII文字列になりますa-z。 2行目にはより長い「テキスト」が含まれ、文字から単にASCII文字列が描画されa-zます。 出力 完全に一致する場所のインデックスのリスト。発生した各一致の開始位置を出力する必要があります。 仕様 アルゴリズムは、パターンの前処理に線形時間を費やすことができます。次に、テキストを左から右に読み取り、テキスト内のすべての文字に対して一定の時間をかけて、新しい一致が発生するとすぐに出力する必要があります。もちろん、試合は互いに重なり合うことができます。 アルゴリズム 多くのリアルタイム完全一致アルゴリズムがあります。1つは、たとえばKMPのwikiで言及されています。好きなものを使用できますが、常に正しい答えを出力する必要があります。 人気のある言語を好む人も独自の方法で勝つことができるように、言語ごとのリーダーテーブルを保持します。実装したアルゴリズムを説明してください。 リアルタイム リアルタイムの意味については多くの混乱があったようです。それは単に線形時間を意味するものではありません。そのため、標準のKMPはリアルタイムではありません。質問のリンクは、KMPのリアルタイムバリアントに関するKMPのWikiページの一部を明示的に指し示しています。ボイヤー・ムーア・ガリルもリアルタイムではありません。このcstheoryの質問/回答では問題について説明しますが、「リアルタイム完全一致」または類似の用語をGoogleで検索することもできます。

19
文を逆にする
このチャレンジの目標は、入力を受け取り、その入力を文の順序を逆にして出力することです。入力例: Hello friend. What are you doing? I bet it is something I want to do too! 出力例: I bet it is something I want to do too! What are you doing? Hello friend. 例からわかるように、プログラムは疑問符、感嘆符、およびピリオドを処理する必要があります。各文には句読点があり、次の文の前にスペースがあると仮定できます。末尾のスペース/改行は、読み取り可能な限り問題ありません。最短のコードが優先されます。 幸運を! 編集:文に引用符や括弧がないと仮定することができますが、コードでこれらの両方を処理できるようにすると、-5バイトの括弧/引用符の出力例が得られます: "Hello, " she said. (I didn't know what she was talking about.) --> …
15 code-golf 

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