トップページ > プログラム > 2014年10月04日 > en9JGvHv

書き込み順位&時間帯一覧

77 位/213 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000000000000000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミングのお題スレ Part5

書き込みレス一覧

プログラミングのお題スレ Part5
189 :デフォルトの名無しさん[sage]:2014/10/04(土) 00:03:48.16 ID:en9JGvHv
>>178 Squeak Smalltalk

| str digitGroups count baseCounts ans |
str := 'この文字列には1が{1}個,2が{2}個,3が{3}個,1から3以外の数字が{4}個ある。'.
digitGroups := #((1) (2) (3) (4 5 6 7 8 9 0)).
count := [:digits | digitGroups collect: [:ds | digits count: [:d | ds includes: d]]].
baseCounts := count value: ((str format: #('' '' '' '')) asArray select: #isDigit thenCollect: #digitValue).
[:exit |
 (0 to: 9) asDigitsToPower: 4 do: [:digits |
  (count value: digits) + baseCounts = digits ifTrue: [ans := digits. exit value]
 ]
] valueWithExit.
^str format: ans

"=> 'この文字列には1が4個,2が1個,3が3個,1から3以外の数字が1個ある。' "


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。