Commit 8ba7281 1 parent 02d8dcd commit 8ba7281 Copy full SHA for 8ba7281
File tree 4 files changed +85
-9
lines changed
4 files changed +85
-9
lines changed Original file line number Diff line number Diff line change 370
370
},
371
371
{
372
372
"part1" : {
373
- "solved" : false ,
374
- "result" : null ,
373
+ "solved" : true ,
374
+ "result" : " 2978 " ,
375
375
"attempts" : [],
376
- "time" : null
376
+ "time" : 3.1022
377
377
},
378
378
"part2" : {
379
- "solved" : false ,
379
+ "solved" : true ,
380
380
"result" : null ,
381
381
"attempts" : [],
382
382
"time" : null
Original file line number Diff line number Diff line change 35
35
[ ![ Day] ( https://badgen.net/badge/22/%E2%98%85%E2%98%85/green )] ( src/day22 )
36
36
[ ![ Day] ( https://badgen.net/badge/23/%E2%98%85%E2%98%85/green )] ( src/day23 )
37
37
[ ![ Day] ( https://badgen.net/badge/24/%E2%98%85%E2%98%85/green )] ( src/day24 )
38
- ![ Day] ( https://badgen.net/badge/25/%E2%98%86 %E2%98%86/gray )
38
+ [ ![ Day] ( https://badgen.net/badge/25/%E2%98%85 %E2%98%85/green )] ( src/day25 )
39
39
40
40
<!-- /SOLUTIONS-->
41
41
@@ -237,14 +237,14 @@ Both parts: 2.003ms
237
237
238
238
```
239
239
Day 25
240
- Time part 1: -
240
+ Time part 1: 3.102ms
241
241
Time part 2: -
242
- Both parts: -
242
+ Both parts: 3.102ms
243
243
```
244
244
245
245
```
246
- Total stars: 47 /50
247
- Total time: 4099.017ms
246
+ Total stars: 50 /50
247
+ Total time: 4102.119ms
248
248
```
249
249
250
250
<!-- /RESULTS-->
Original file line number Diff line number Diff line change
1
+ # 🎄 Advent of Code 2024 - day 25 🎄
2
+
3
+ ## Info
4
+
5
+ Task description: [ link] ( https://adventofcode.com/2024/day/25 )
6
+
7
+ ## Notes
8
+
9
+ ...
Original file line number Diff line number Diff line change
1
+ import run from "aocrunner" ;
2
+
3
+ const parseInput = ( rawInput : string ) => {
4
+ const sections = rawInput . split ( "\n\n" ) . map ( ( sec ) => sec . split ( "\n" ) ) ;
5
+
6
+ const keys : number [ ] [ ] = [ ] ;
7
+ const locks : number [ ] [ ] = [ ] ;
8
+
9
+ sections . forEach ( ( s ) => {
10
+ let key = [ ] ;
11
+ for ( let x = 0 ; x < s [ 0 ] . length ; x ++ ) {
12
+ let count = 0 ;
13
+ for ( let y = 0 ; y < s . length ; y ++ ) {
14
+ if ( s [ y ] [ x ] === '#' ) {
15
+ count ++ ;
16
+ }
17
+ }
18
+ key . push ( count ) ;
19
+ }
20
+ if ( s [ 0 ] [ 0 ] === '.' ) {
21
+ keys . push ( key ) ;
22
+ } else {
23
+ locks . push ( key ) ;
24
+ }
25
+ } )
26
+
27
+ return { keys, locks }
28
+ } ;
29
+
30
+ const part1 = ( rawInput : string ) => {
31
+ const { keys, locks} = parseInput ( rawInput ) ;
32
+
33
+ return keys . map ( ( k ) => {
34
+ return locks . filter ( ( l ) => {
35
+ return k . every ( ( v , i ) => v + l [ i ] <= 7 )
36
+ } ) . length
37
+ } ) . reduce ( ( prev , curr ) => prev + curr , 0 )
38
+ } ;
39
+
40
+ const part2 = ( rawInput : string ) => {
41
+ const input = parseInput ( rawInput ) ;
42
+
43
+ return ;
44
+ } ;
45
+
46
+ run ( {
47
+ part1 : {
48
+ tests : [
49
+ // {
50
+ // input: ``,
51
+ // expected: "",
52
+ // },
53
+ ] ,
54
+ solution : part1 ,
55
+ } ,
56
+ part2 : {
57
+ tests : [
58
+ // {
59
+ // input: ``,
60
+ // expected: "",
61
+ // },
62
+ ] ,
63
+ solution : part2 ,
64
+ } ,
65
+ trimTestInputs : true ,
66
+ onlyTests : false ,
67
+ } ) ;
You can’t perform that action at this time.
0 commit comments