File tree Expand file tree Collapse file tree 1 file changed +5
-9
lines changed
Expand file tree Collapse file tree 1 file changed +5
-9
lines changed Original file line number Diff line number Diff line change 1- function getResultIfPossible ( result , numbers , thirdOperator ) {
1+ function getResultIfPossible ( result , numbers , op ) {
22 let all = [ numbers [ 0 ] ] ;
3- for ( let i = 1 ; i < numbers . length ; i ++ ) {
4- all = all . flatMap ( answer => {
5- const options = [ answer + numbers [ i ] , answer * numbers [ i ] ] ;
6- if ( thirdOperator ) options . push ( + `${ answer } ${ numbers [ i ] } ` ) ;
7- return options ;
8- } ) ;
3+ for ( const n of numbers . slice ( 1 ) ) {
4+ all = all . flatMap ( x => [ + `${ x } ${ n } ` , x + n , x * n ] . slice ( op ? 0 : 1 ) ) ;
95 }
106 return all . includes ( result ) ? result : 0 ;
117}
128
13- export function part1 ( input , thirdOperator = false ) {
9+ export function part1 ( input , op = false ) {
1410 const results = input . split ( "\n" ) . map ( line => {
1511 let [ result , numbers ] = line . split ( ": " ) ;
1612 numbers = numbers . split ( " " ) . map ( Number ) ;
17- return getResultIfPossible ( + result , numbers , thirdOperator ) ;
13+ return getResultIfPossible ( + result , numbers , op ) ;
1814 } ) ;
1915 return results . reduce ( ( a , b ) => a + b ) ;
2016}
You can’t perform that action at this time.
0 commit comments