challenge 年賀はがきの当せん番号

年賀はがきの当せん番号について確認する方法をはがき(番号)の整理の仕方も含めて考えよ

Posted feedbacks - Nested

Flatten Hidden

Squeak Smalltalk で。

まず示したスクリプトに倣って、当選番号を下一桁で分類。年賀はがきについても同様に分類して山を作り、当選番号にない下一桁の山を排除。あとは、各下一桁の山について、当選番号がないか探せばよいでしょう。山にある年賀はがきの枚数が多い場合は、下二桁について同様の作業を再帰的におこないます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
| dict |
dict := {
    '975424' -> #1等.
    '259668' -> #2等.
    '446722' -> #2等.
    '630838' -> #2等.
    '0977' -> #3等.
    '00' -> #4等.
    '52' -> #4等.
    '27520' -> #C組限定
} as: Dictionary.

(dict associations groupBy: [:assoc | assoc key last] having: [:g | true])
    associations collect: [:assoc | assoc key -> assoc value asArray]

"=> {
  $2->{'52'->#4等. '446722'->#2等}
  $4->{'975424'->#1等}
  $7->{'0977'->#3等}
  $8->{'259668'->#2等. '630838'->#2等}
  $0->{'27520'->#C組限定. '00'->#4等}
} "

Index

Feed

Other

Link

Pathtraq

loading...