Ruby/2024/02: add solution

This commit is contained in:
Felix Bargfeldt 2024-12-02 07:35:10 +01:00
parent 9429a95884
commit 258be944da
Signed by: Defelo
GPG key ID: 2A05272471204DD3
2 changed files with 12 additions and 3 deletions

View file

@ -1,5 +1,5 @@
# AdventOfCode
[Advent of Code](https://adventofcode.com/) solutions in [<img height=12 src=".assets/rs.svg"> Rust](Rust), [<img height=12 src=".assets/ua.png"> Uiua](Uiua), [<img height=12 src=".assets/py.svg"> Python](Python), [<img height=12 src=".assets/apl.svg"> APL](APL), [<img height=12 src=".assets/hs.svg"> Haskell](Haskell), [<img height=12 src=".assets/nix.svg"> Nix](Nix), [<img height=12 src=".assets/nu.svg"> Nu](Nu) and [<img height=12 src=".assets/rb.svg"> Ruby](Ruby)
[Advent of Code](https://adventofcode.com/) solutions in [<img height=12 src=".assets/rs.svg"> Rust](Rust), [<img height=12 src=".assets/ua.png"> Uiua](Uiua), [<img height=12 src=".assets/py.svg"> Python](Python), [<img height=12 src=".assets/apl.svg"> APL](APL), [<img height=12 src=".assets/hs.svg"> Haskell](Haskell), [<img height=12 src=".assets/nix.svg"> Nix](Nix), [<img height=12 src=".assets/rb.svg"> Ruby](Ruby) and [<img height=12 src=".assets/nu.svg"> Nu](Nu)
### Global Leaderboard Placement
|Year|Rank|Score|Top% (Leaderboard)|Top% (All participants)|
@ -9,11 +9,11 @@
|[2021](https://adventofcode.com/2021/leaderboard)|**136**|438|13.41% (of 1014)|0.0532% (of &ge;255548)|
|[2020](https://adventofcode.com/2020/leaderboard)|**621**|46|65.23% (of 952)|0.3146% (of &ge;197402)|
## [2024](https://adventofcode.com/2024) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2024): 2/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2024): 2/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2024): 1/25 | [<img height=18 src=".assets/nix.svg"> Nix](Nix/2024): 1/25 | [<img height=18 src=".assets/rb.svg"> Ruby](Ruby/2024): 1/25)
## [2024](https://adventofcode.com/2024) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2024): 2/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2024): 2/25 | [<img height=18 src=".assets/rb.svg"> Ruby](Ruby/2024): 2/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2024): 1/25 | [<img height=18 src=".assets/nix.svg"> Nix](Nix/2024): 1/25)
|Mo|Tu|We|Th|Fr|Sa|Su|
|-|-|-|-|-|-|-|
|||||||[**1**](https://adventofcode.com/2024/day/1) [<img height=12 src=".assets/rs.svg">](Rust/2024/01.rs "Rust solution for 2024/01") [<img height=12 src=".assets/hs.svg">](Haskell/2024/01.hs "Haskell solution for 2024/01") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JnNjCgrCsOKKn-KNieKKnOKKnOKLleKIqeKJoEBcbixAIC4K4oipLyviioMo4pmtw5fiip7iirg9fOKMtS3iiKnijYYpCg== "Uiua solution for 2024/01") [<img height=12 src=".assets/nix.svg">](Nix/2024/01.nix "Nix solution for 2024/01") [<img height=12 src=".assets/rb.svg">](Ruby/2024/01.rb "Ruby solution for 2024/01")|
|[**2**](https://adventofcode.com/2024/day/2) [<img height=12 src=".assets/rs.svg">](Rust/2024/02.rs "Rust solution for 2024/02") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JnNjCgriipwo4pah4oqc4ouVKeKIqeKJoEBcbixAIC4KCkNoZWNrIOKGkCDDl-KKgygvw5fiiaQz4oy1fOKJjcKkMeKMteKXtMKxKSDiiaEvLeKXqzIK4oipLyviiaHil4fiioMoL-KGpeKJoShDaGVja-KWvSniip7iiaAu4oeh4qe74p-cwqR8Q2hlY2spCg== "Uiua solution for 2024/02")|[**3**](https://adventofcode.com/2024/day/3)|[**4**](https://adventofcode.com/2024/day/4)|[**5**](https://adventofcode.com/2024/day/5)|[**6**](https://adventofcode.com/2024/day/6)|[**7**](https://adventofcode.com/2024/day/7)|[**8**](https://adventofcode.com/2024/day/8)|
|[**2**](https://adventofcode.com/2024/day/2) [<img height=12 src=".assets/rs.svg">](Rust/2024/02.rs "Rust solution for 2024/02") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JnNjCgriipwo4pah4oqc4ouVKeKIqeKJoEBcbixAIC4KCkNoZWNrIOKGkCDDl-KKgygvw5fiiaQz4oy1fOKJjcKkMeKMteKXtMKxKSDiiaEvLeKXqzIK4oipLyviiaHil4fiioMoL-KGpeKJoShDaGVja-KWvSniip7iiaAu4oeh4qe74p-cwqR8Q2hlY2spCg== "Uiua solution for 2024/02") [<img height=12 src=".assets/rb.svg">](Ruby/2024/02.rb "Ruby solution for 2024/02")|[**3**](https://adventofcode.com/2024/day/3)|[**4**](https://adventofcode.com/2024/day/4)|[**5**](https://adventofcode.com/2024/day/5)|[**6**](https://adventofcode.com/2024/day/6)|[**7**](https://adventofcode.com/2024/day/7)|[**8**](https://adventofcode.com/2024/day/8)|
|[**9**](https://adventofcode.com/2024/day/9)|[**10**](https://adventofcode.com/2024/day/10)|[**11**](https://adventofcode.com/2024/day/11)|[**12**](https://adventofcode.com/2024/day/12)|[**13**](https://adventofcode.com/2024/day/13)|[**14**](https://adventofcode.com/2024/day/14)|[**15**](https://adventofcode.com/2024/day/15)|
|[**16**](https://adventofcode.com/2024/day/16)|[**17**](https://adventofcode.com/2024/day/17)|[**18**](https://adventofcode.com/2024/day/18)|[**19**](https://adventofcode.com/2024/day/19)|[**20**](https://adventofcode.com/2024/day/20)|[**21**](https://adventofcode.com/2024/day/21)|[**22**](https://adventofcode.com/2024/day/22)|
|[**23**](https://adventofcode.com/2024/day/23)|[**24**](https://adventofcode.com/2024/day/24)|[**25**](https://adventofcode.com/2024/day/25)|26|27|28|29|

9
Ruby/2024/02.rb Normal file
View file

@ -0,0 +1,9 @@
def check(nums)
d = nums[...-1].zip(nums[1..]).map { _1.reduce &:- }
return d.all? { (1..3).include?(_1.abs) && _1.negative? == d[0].negative? }
end
input = File.read(ARGV[0]).lines.map { _1.split.map &:to_i }
p input.filter { check _1 }.length
p input.filter { |nums| (0...nums.length).any? { check nums[..._1] + nums[_1+1..] } }.length