LAA> S=: ')()))))))('
LAA> f=: 13 :'(+/''(''=y)-+/'')''=y'
LAA> f S
LAA>_6
This is coming near the solution I like best:
+/ ('('&= - =&')') S
_6
Why do like this?
(a) It is robust against any additional dirt characters, say, linebreaks
in S. (Unlike the ').('&i. -based solutions.)
(b) It clearly states what makes Santa go up and down.
(c) It's so close to Roger's "Amuse-Bouche 0 of i. 16", namely
(x>0) - (x<0)
(d) It gives rise to further variations of the initial idea both
in the inside:
+/ -/ '()' =/ S,'still robust against noise'
and the outside (for Part B):
>: _1 i.~ +/\ ('('&= - =&')') S
Martin
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm