Skip to content

Instantly share code, notes, and snippets.

View Kuniwak's full-sized avatar
💭
I may be slow to respond.

Yuki Kokubun Kuniwak

💭
I may be slow to respond.
View GitHub Profile
@Kuniwak
Kuniwak / codeiq_q684.md
Last active August 29, 2015 13:56
結城さんの問題の解答。王女様の宝石パターンを見つけよう! by The Essence of Programming【https://codeiq.jp/ace/yuki_hiroshi/q684

ポイント

次のルール従って、宝石を配置していく。ただし、素直に解こうとすると計算量が爆発するので、メモ化するなどして計算量を抑える工夫が必要。

ルール

  1. 未配置の宝石があるときは、そのなかで最も小さい(aが最小)アルファベット を順に配置していく。
  2. 未配置の宝石がなくなったら、未配置の宝石の中に、取り除いた後の末尾よりも 大きいアルファベットの宝石が含まれるようになるまで末尾を取り除く。次に、 配置済の宝石の末尾より大きいアルファベットをもつ宝石のうち、もっとも
@Kuniwak
Kuniwak / codeiq_q666.js
Created February 26, 2014 19:48
@masuipeoさんの問題 「今週のお題:飛車と角の利きを考えて!」の回答。
var util = {};
util.array = {};
util.array.remove = function(arr, obj) {
var i = arr.indexOf(obj);
var rv;
if ((rv = i >= 0)) {
util.array.removeAt(arr, i);
}
return rv;
@Kuniwak
Kuniwak / codeiq_q109.md
Last active August 29, 2015 13:56
「コードゴルフ:最短コードを書く!」の回答。

コードの経過

前回の提出コード

  • 142文字(初挑戦)

    r="",w=80,h=40,z=30;for(y=0;y<h;y++){for(x=0;x<w;x++){a=(w/2-x);b=(h/2-y)*2;d=Math.sqrt(a*a+b*b);if(d<z){r+="*"}else{r+="-"}}r+="\n"}return r;
  • 112文字

@Kuniwak
Kuniwak / codeiq_q702.md
Last active August 29, 2015 13:56
クロノス・クラウン合同会社 柳井 政和さんの問題 「スーパー楕円のダンジョン」の回答。

コードの経過

Level 1

  • 118文字

    (Math.pow(Math.abs(x/32),3)+Math.pow(Math.abs(y/8),3)<=1)+2*(Math.pow(Math.abs(x/16),3)+Math.pow(Math.abs(y/16),3)<=1)
@Kuniwak
Kuniwak / codeiq_q656.md
Created February 28, 2014 20:12
「お正月版 各桁総和ダンジョン LV1」の回答。https://codeiq.jp/ace/yanai_masakazu/q656

コードの経過

Level 1

Level 2

@Kuniwak
Kuniwak / quickrun-neorspec.vim
Last active August 29, 2015 14:01
QuickRun + NeoRspec の設定例
" NeoBundle ---------------------------------------------------------------- {{{
" call neobundle#begin(___) ... call neobundle#end() の間に置いてください
" Vim でコマンドを実行して結果を表示するプラグイン「QuickRun」をインストール
NeoBundle 'thinca/vim-quickrun'
" テストを実行中、vimの動作をブロックしないようにするために「vimproc」をインストール
NeoBundle 'Shougo/vimproc'
" rspec の一部のテストだけ実行できるプラグイン「neorspec」をインストール
@Kuniwak
Kuniwak / quickrun-neorspec-syntastic.vim
Last active August 29, 2015 14:01
QuickRun + NeoRspec + Syntastic の設定例
" Rubocopのインストールが必要です。
" $ gem install rubocop
" $ rbenv rehash
" NeoBundle ---------------------------------------------------------------- {{{
" call neobundle#begin(___) ... call neobundle#end() の間に置いてください
" Vim でコマンドを実行して結果を表示するプラグイン「QuickRun」をインストール
NeoBundle 'thinca/vim-quickrun'
@Kuniwak
Kuniwak / major-linters.md
Last active August 29, 2015 14:02
Major linter の戦略と実装

Major linter の戦略と実装

Perl::Critic

  • 構文解析器: PPI
  • ポリシーはオブジェクト: Perl::Critic::Policy
  • 違反もオブジェクト: Perl::Critic::Violation
  • 処理の流れ
    1. 有効な検査ポリシーが設定される
    2. 検査ポリシーごとに以下を繰り返す(Perl::Critic#_gather_violations $doc : @violations
  1. 検査ポリシーが解析に必要な要素名を宣言する(Perl::Critic::Policy#applies_to : String[]
@Kuniwak
Kuniwak / perl-critic-error-type.md
Last active August 29, 2015 14:02
Perl::Criticの警告一覧

Perl::Criticのエラー

これの車輪の再発明っぽい: PolicySummary.pod

Perl::Critic の警告 内容
ProhibitBooleanGrep Use List::MoreUtils::any instead of grep in boolean context.
ProhibitComplexMappings Map blocks should have a single statement.
ProhibitLvalueSubstr Use 4-argument substr instead of writing substr($foo, 2, 6) = $bar.
@Kuniwak
Kuniwak / tmux_cheetsheet.markdown
Last active August 29, 2015 14:03
tmux 覚えられなかったので画面の横に貼る。

tmux cheetsheet

Command

command name command
start new tmux
start new with session name tmux new -s name