challenge あみだくじ

次のような書式で与えられた「あみだくじ」があります。
(あみだくじはコード中に埋め込んでも、標準入力や
外部ファイルから読み込んでも、書きやすい方法でかまいません)

A B C D E
| | |-| |
|-| | |-|
| |-| |-|
|-| |-| |
|-| | | |

このあみだくじをたどって
A B C D E
| | |-| |
|-| | |-|
| |-| |-|
|-| |-| |
|-| | | |
B D C A E
のように結果を表示させるプログラムを作ってください。

Posted feedbacks - JavaScript

例によって replace をイテレータ代わりに。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
function doukaku103(amida){
  var a = amida.replace(/\|/g, '').split('\n'), o = a.shift().split(' ');
  var x = /-/g, f = function(t, i){ t = o[i], o[i] = o[i+1], o[i+1] = t };
  for(var j = 0, l; l = a[j++];) l.replace(x, f);
  return amida +'\n'+ o.join(' ');
}

(typeof confirm != 'undefined' ? confirm : typeof print != 'undefined' ? print :
 function($){ typeof WSH == 'object' && WSH.echo($) })(doukaku103('\
A B C D E\n\
| | |-| |\n\
|-| | |-|\n\
| |-| |-|\n\
|-| |-| |\n\
|-| | | |'));

Index

Feed

Other

Link

Pathtraq

loading...