Thanks,

For the second I have to take a good look.

I have to reread the file till the adding causes the same outcome  as we had already

so for example if we have the sequence :

+3, +3, +4, -2, -4

it has as outcome :

3 6 10 8 4

so no outcome is there a second time so we repeat the sequence


7 10

the 10 shows up a second time so there we have our answer.


Roelof



Op 3-12-2018 om 03:45 schreef Richard O'Keefe:
The key question is "what do you mean by improve"?
I'd start by asking "what are you doing that you will still have to do in
part 2, and what won't you do?"  So looking at part 2, you will want to
convert the lines to integers, and
  input := Array streamContents: [:lines |
    'input.txt' asFileReference readStreamDo: [:in |
      [in atEnd] whileFalse: [lines nextPut: in nextLine asInteger]]].
gives you a chunk of code you can use in both parts.  So you might
want to have

Day1
  changesFrom: aFileName
    ^Array streamContents: [:changes |
      aFileName asFileReference readStreamDo: [:in |
        [in atEnd] whileFalse: [changes nextPut: in nextLine asInteger]]]
  partOne: aFileName
    ^(self changesFrom: aFileName) sum
  partTwo: aFileName
    ...
The file name should not be wired in because you want some test files.






Reply via email to