>>754 Squeak Smalltalk
| fn |
fn := [:str |
| map range signs sign goal position from next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
goal := #★. signs := #(┌ ┌ ← → └ └ ┐ ┐ ↑ ↓ ┘ ┘) readStream.
sign := Dictionary new.
0 asPoint fourNeighbors combinations: 2 atATimeDo: [:combi |
sign at: combi copy put: signs next; at: combi reversed put: signs next].
position := 1@1. from := nil. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found delta |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
delta := found - position.
(map at: position y) at: position x put: (sign at: {from ifNil: [delta negated]. delta} ifAbsent: goal).
position := found. from := delta negated. next := next + 1].
(map collect: #join) asStringWithCr
].
fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11' .
"=>
'↓┌→┐
└┘┌┘
┌┐└┐
★└←┘' "
プログラミングのお題スレ Part13
■ このスレッドは過去ログ倉庫に格納されています
759デフォルトの名無しさん
2019/03/23(土) 05:47:57.62ID:ZlGSstH0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小泉進次郎農相、就任一夜明け「コメ5キロ2990円」記事ポスト……「(税込み)3229円だよ」などツッコミ [少考さん★]
- 三浦瑠麗氏、永野芽郁を“キャンセル”する企業に持論「単に事なかれ主義」「ほめられたことではない」 [少考さん★]
- フジ第三者委員会 中居氏側の守秘義務解除の前向きな姿勢は「事実」も最終回答は「解除せず」★2 [ひかり★]
- 【山梨】中国警察名乗り「あなた名義で航空券が多数買われ、中国のおばあさんがショック死した」…保証金要求に大学生「だまされたふり」 [ぐれ★]
- 【住宅】タワマン火災は消火や救助が困難、どう避難すべき? [ぐれ★]
- 永野芽郁 打ち上げでスピーチ「週刊誌から声かけられたら知りませーん!って言ってくださいね」「ご迷惑をおかけしてすいませーん。ふふふ」★3 [Ailuropoda melanoleuca★]
- 日本人「ワンチャンス略してワンチャンです」言うほど略してない件 [931948549]
- 【速報】小室K、第一子を出産wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- なぜ低所得者は、「政治家のせい」にするのか…自分の人生を「自分のもの」と思えない理屈 [195219292]
- 【訃報】日米欧で超長期金利が上昇、米債入札低調、インフレ、財政不安で共振 [943688309]
- 日本人、気ずく… 「消費も最低限、労働も最低限、人付き合いや社会貢献もしないでひたすら1人で資産貯めて戦ってるゲリラいるよね?」 [452836546]
- 【朗報】ホリエモン「別姓反対派は戸籍制度が守れなくなる!とかいうけど戸籍なんて廃止で良いだろ」 [339035499]