各言語共通ロジック条件
fukaoi.org
- 同じ年月は同じグループとしてカウントして数を求める
- 最新の年月を降順でソートする
- 無理やり1行にまとめず、ある程度の可読性は保つようにする
- 宣言部分、実装メソッドの定義部分などはカウントせず除外する
- //---(logic)----で囲んだ箇所を比較対象箇所とする
- 下記「変更前」データーから「変更後」データになるよう標準出力を行う
ロジックを明示的に記述することについて縛りがなければ Squeak Smalltalk だとこんなかんじ。
| yearMonths | yearMonths := #( '2009-11' '2009-01' '2010-01' '2010-12' '2010-01' '2010-04' '2010-01' '2010-12' '2010-12' '2010-04'). "//---(logic)----" yearMonths asBag sortedElements reversed "//---(logic)----"
{'2010-12'->3 . '2010-04'->2 . '2010-01'->3 . '2009-11'->1 . '2009-01'->1}