And mine:

MyInput=: <;._2 freads '~AoC/2017/aoc04_input.txt'


isValidPassPhrase=: (#@~. = #)@;:

isValidPassPhrase=: (#@~. = #)@:(/:~&.>)@;:


+/ isValidPassPhrase&> MyInput



On Wed, Dec 6, 2017 at 1:11 PM, Raul Miller <[email protected]> wrote:

> Here were my day fours:
>
> valid=: (-: ~.)@;:
> valid=: (-: ~.)@:(/:~each)@;:
>
> Example use:
>    +/valid@>phrases
>
> And I had a definition with the dataset that began:
> phrases=:<;._2]0 :0
>
> I don't think my approach winds up being any shorter than yours, and
> it might be slower also - but it worked, and I guess that's the
> important thing.
>
> Thanks,
>
> --
> Raul
>
>
> On Tue, Dec 5, 2017 at 7:07 PM, Daniel Lyons <[email protected]>
> wrote:
> > I think this one may have been so easy nobody had anything to say about
> it. But for completeness, here are my remarks.
> >
> > The problem in part one is to find lines whose sequence of words contain
> no duplicates. This is pretty straightforward, I just nub the split array
> and see if the lengths match. I made this overcomplicated by using 13 : to
> condense it:
> >
> >    input =. cutLF fread '~/Desktop/input'
> >    valid =. [: (# = [: # ~.) [: cut ' ' , ]
> >    +/ >valid&.> input
> >
> > Part two modifies the requirements by saying anagrams count as the same
> word. For part 2, I do almost the same thing, but to find the anagrams I
> just sort the characters of each word and then nub. If the words are
> anagrams, they’ll have the same sorted representation.
> >
> > I have a mixture of pride and horror here. I felt like I should have
> been able to use =&# above, but now that I have, it looks a bit long:
> >
> >    +/ ([ =&# ([: ~. /:~&.>))@:([: cut ' ', ])&> input
> >
> > The cut works the same way here. @: to signify a separate step. The left
> side train has two parts: I’m saying the input equals-under-length the
> input sorted (unbox the boxes), nubbed. Cap is necessary here because I
> only have two verbs. This still looks like more work than is necessary to
> my beginner eyes.
> >
> > Overall I like it. I’m happy it was quick to slap together!
> >
> > A neat thing I’ve noticed about J: while I struggle sometimes to come up
> with the solution, when I do, it seems to be right on the first try. I
> haven’t had a single one of my advent-of-code solutions kicked back. This
> is a nice property!
> >
> > --
> > Daniel Lyons
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to