Paste: aoc day 3
        
	
	
	
		| Author: | Kren/chunes | 
|---|
		| Mode: | factor | 
|---|
		| Date: | Sat, 3 Dec 2022 05:15:09 | 
|---|
	
	Plain Text |
	
	USING: grouping io.encodings.ascii io.files kernel literals math
prettyprint sequences sets unicode ;
IN: aoc2022.day03
CONSTANT: input $[
    "resource:work/aoc2022/day03/input.txt" ascii file-lines
]
: priority-sum-by ( ... seq quot: ( ... seq -- ... n ) -- ... n )
    '[ @ [ first ] keep upper? 38 96 ? - ] map-sum ; inline
: part1 ( -- )
    input [ halves intersect ] priority-sum-by . ;
: part2 ( -- )
    input 3 group [ intersect-all ] priority-sum-by . ;
: day03 ( -- ) part1 part2 ;
MAIN: day03
	
		
		
			| Author: | Kren/chunes | 
|---|
			| Mode: | factor | 
|---|
			| Date: | Sat, 3 Dec 2022 05:33:32 | 
|---|
		
		Plain Text |
		
		USING: ascii grouping io.encodings.ascii io.files kernel
literals math prettyprint sequences sets ;
IN: aoc2022.day03
CONSTANT: input $[
    "resource:work/aoc2022/day03/input.txt" ascii file-lines
]
: priority-sum-by ( ... seq quot: ( ... seq -- ... n ) -- ... n )
    '[ @ first dup letter? 96 38 ? - ] map-sum ; inline
: part1 ( -- )
    input [ halves intersect ] priority-sum-by . ;
: part2 ( -- )
    input 3 group [ intersect-all ] priority-sum-by . ;
: day03 ( -- ) part1 part2 ;
MAIN: day03
	
		
		
			| Author: | Kren/chunes | 
|---|
			| Mode: | factor | 
|---|
			| Date: | Sun, 4 Dec 2022 01:28:01 | 
|---|
		
		Plain Text |
		
		USING: ascii grouping io.encodings.ascii io.files kernel
literals math prettyprint sequences sets ;
IN: aoc2022.day03
CONSTANT: input $[
    "vocab:aoc2022/day03/input.txt" ascii file-lines
]
: priority-sum-by ( ... seq quot: ( ... seq -- ... n ) -- ... n )
    '[ @ first dup letter? 96 38 ? - ] map-sum ; inline
: part1 ( -- )
    input [ halves intersect ] priority-sum-by . ;
: part2 ( -- )
    input 3 <groups> [ intersect-all ] priority-sum-by . ;
: day03 ( -- ) part1 part2 ;
MAIN: day03
	
		
		
			| Author: | Kren/chunes | 
|---|
			| Mode: | factor | 
|---|
			| Date: | Sun, 4 Dec 2022 01:33:20 | 
|---|
		
		Plain Text |
		
		USING: ascii grouping io.encodings.ascii io.files kernel
literals math prettyprint sequences sets ;
IN: aoc2022.day03
CONSTANT: input $[
    "vocab:aoc2022/day03/input.txt" ascii file-lines
]
: priority-sum-by ( ... seq quot: ( ... seq -- ... newseq ) -- ... n )
    '[ @ first dup letter? 96 38 ? - ] map-sum ; inline
: part1 ( -- )
    input [ halves intersect ] priority-sum-by . ;
: part2 ( -- )
    input 3 <groups> [ intersect-all ] priority-sum-by . ;
: day03 ( -- ) part1 part2 ;
MAIN: day03
	
	
		New Annotation