AA 折れ線グラフクイズ 7
いろいろな言語の解答を拝見。 辞書(連想配列)に入れておいて、あとでスキャンする…という、シンプルかつオーソドックスな方法の存在に気づきませなんだ…。orz
| series data yy yys | series := 'RCRFCRFFCCRFFRRCRRCCFRFRFF'. data := Dictionary new. yy := 1. series doWithIndex: [:code :xx | code caseOf: { [$R] -> [data at: xx @ yy put: $/. yy := yy - 1]. [$F] -> [data at: xx @ (yy := yy + 1) put: $\]. [$C] -> [data at: xx @ yy put: $_]}]. yys := data keys collect: [:each | each y]. World findATranscript: nil. (yys min to: yys max) do: [:rr | Transcript cr. Transcript show: (((1 to: series size) collect: [:cc | data at: cc @ rr ifAbsent: [Character space]]) as: String)]
id:sumim:20060408:p1 に続く。