feat: day 4 completed
This commit is contained in:
3
day_4/README.md
Normal file
3
day_4/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# --- Day 4: Ceres Search ---
|
||||
|
||||
See: https://adventofcode.com/2024/day/4
|
||||
10
day_4/example.txt
Normal file
10
day_4/example.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
MMMSXXMASM
|
||||
MSAMXMSMSA
|
||||
AMXSXMAAMM
|
||||
MSAMASMSMX
|
||||
XMASAMXAMM
|
||||
XXAMMXXAMA
|
||||
SMSMSASXSS
|
||||
SAXAMASAAA
|
||||
MAMMMXMMMM
|
||||
MXMXAXMASX
|
||||
140
day_4/input.txt
Normal file
140
day_4/input.txt
Normal file
@@ -0,0 +1,140 @@
|
||||
SMXMMAXXXXMMMMSMMASASMSXMMAMSSMXSMMXMASAMXXMAMXAXXAMXAXASMSMSMMMSXXSXSXXAAMXXSXMASMAASXMXMSSMXXXXMMSSSMXSXXMASXMMSMSXMXSSMXSMMMSXMSAMSASXSAM
|
||||
MASMMSXMMMMAMSMAXSAMXAXAXXAXSASAMASMMASAMAXMAXMMSXASMMMMSAAXAAAAXSMAAAAMAMXSSMMXMASMSAMXSAAAMSMMMSMAAAMMMXMXAXASAASXASAXMASMAAXXAXMAMXXSSMAM
|
||||
MAMAAMXMAXSASAMMMXAMMMMAMMSMSAMXSAMXMASAMMSXSASAMXSMAAAMMXMMSMMXMAMSSMMAAMAMAXAAXMAMXAMSAMMSMAXAAAMMSMMAAXSMMSXMSMMSAMXSXMXXMMSSMMMSMMXMASXM
|
||||
MAMMMXAMXMXXSASXAXAMSXMXSAAXMMMXMXSXMXSMMXMAXAMXXXXXSSSSXAMXXAMMAMXAXAXSAMMSMMMSMMSMSAMAAXMAMXSMSXXAXMSSSSMAXSAMXMMMSXAXAXAMMXMASXAMAMSXAMMX
|
||||
SSSXXSMMSMMXSAAMSSSMMXSAMMSMMMMMMASASAMASMMMMXSSSSMXMAMMMXSASAMXXXSXMMMMASXAXASAMMAAMXMSMMSMXMXXAMXXSMAMMXMAMMXAAXMAMMSSMMXXAASAMMXSAMAMSSMM
|
||||
AAXMASMAAASAMXMAMMAAXXMASAXXMAAAXMSAMXSAMAMXSAAAAXAAMAMAAXAMMMMSMAXMXSASAMMMMMAASMMSMAMAXXXMASAMXSAAMXAXMASXMSASMSMMMMMAXAAXSXMASAMSAMMXMAMA
|
||||
MXMMAMASMMMXSXSASXSMMMMXMMSASMSMSAMXMXMMSSMAXMMMMMSXSASMSSMXXAAAMAMXMAMMAMXXAXSXMASAXSSSSMMSASAMASMMMSMSXAXXAAXXAAMAAXSMMMSMMAMMXXAMAMXMSMMS
|
||||
MMXMAXXMMMAXMXMASXAXAAMMMMSAMXAMXMMAMXMMAAMXSXMXAAAASASAAXXSSMSSSMSSMSMSXMXXSXMXAXSMMMMXMMAMXMAMAMXAMAAMMMMMSMMMSMXMSMMXMXMAMMMSMMSSXMAAAXAM
|
||||
MAASMXSAXSSMSAXXMMSSSMMAAAMXMMXXAXSXSASMSSMAMASMMXSAMXMMMXSAAMMXMAMAAAAXAASMMASXSMXXAAXMMMSSMSXMSSSXSMSMASAAAXMAMSMAMAMMXASXMSAMAAAMASXSMMSS
|
||||
ASAMMAMXMXAAXMSAAXAAAASMMXSAXAMXMXAAAASMXMMASAMAAAMASXXMXMASMMMAMAMMSMSSMMXASAMAMAMSSMSAXMASAAXMXAXASXMXAXASMSMASMMMSAMXSASAMMASMMSSMMAAXAAS
|
||||
MMAMMMSMSSMMAAMASMMXMASAAASASMAASAMSMXMXAXSAMASMMXSAMAMXAMXXMAMXSAMAXMAMAASAMASAMAMXAASMMMAXXMXMASMXMASMXSAMAXXXXAAAMAMAMXMAMAAMXMAMXMXMMMMS
|
||||
XMAMSXMAAAXSXSMAMMXXXXXMMXMMMMSAXAXAXMMMMXMASAMAAXMXSAAMSSMXSSXMMMSSSMSXXMMXSMMXSXSMMMMAAMMMMSAMAXXXXMMAAAXMXMMSXSMMXAMXSSMSMMXXXMAMAMXMAMSS
|
||||
SMSMXAXMMXMSMAMASXSXSAMXMAMMSXMASMMMAAAAXAMAMXSMMSMXSXSAAAMXMMXSAAAXAAAXMMSASAMXXMXMXSXSMSXAASAMSSMSAXMMMSXXXASAAXAMSSMMMMAAXMASMMSMSMSXXSAX
|
||||
MAAMXSMMSXAXSXMMSXAAXMMASMSAXAMAMAAXMXSSSSSMSMAMXMMMMMMMSXMXAAAMMMSSMMMSMAAAMMAMSMAMAXAXMMMMXMAMXAAMAMXMXMXXMSMMSMAMSAAAAMMSMMMXAAXAMASAMMMM
|
||||
MSMSAAAAAMSMMMXXXMMMMMSXSAAMSSMASXMMSMAMAMXMAAAMXMAXAASXMASXMMXSAMXMAAAAMAMMMXMMAMAMSSMSAMMXMSMMSMMMSSXXAAXMXAMMXXXMSXMMXMXMAXSMMMMAMAMAMAAX
|
||||
XAAMXSMMMSXMMASXSMAXAAAMMMXXAXMAXAAAXMAMAMASXSASAMSSSXSASXMASAMMASASXMSAMXSXXMASASAMXMASAMXAMAXAAAMAXAASMSXMSMSAMXMMMMSMMMSMMMXAASMSMSSSSSSS
|
||||
SMSMMMMSMXMAMXSAASMSMSMXAXMMASMXSSMSSSMSASMSAMAMAAMAMXSAMASXMAMSAMASXMAXMAMMAMXXASASAXXMXMSMSMSSSSMMMMMXAAMXAXMXMSAMXAAAXASAAMSSMSAXAXAAMAMM
|
||||
MXMAAMAMAASAMAMXMMXAMXXSMSMMAMMAMXAAAAXSASXSASXXMMMAMXMAMXMXSAMMMMXMAXXXMASMSMSSXSAMMMMSSMMXAAAAXAAXAXXMMMASMSSSXMSSXSXSMASMMMAMXMMMSMSMMAMM
|
||||
XASMMSASMMSASXXAMXAMSSMXAAAAASMMSMMMSMMMAMMMAMXXMXSSMMSAMAXXMMMAAMXMASMMSMXMAAMSAXXXXMAAXAAXMMMSMSMSMSAXAMMXXAAMAMXSAAAXMXMMMXXMXMXAXXAXMXMM
|
||||
SMXXXMXMAMXAMXXSSMMXSAMMSMSSXSAMXXAMAXAMAMXMMMSXXAAAAXMAMAMXASMSSMXAAXAAMAMSMSMSXMASMMMSSMMXSAAXXXAXAMMXMSXSMMSMMSAMXMMSXAAAMAXMASMMMMMMSMSM
|
||||
SAMSMMSSSXSAMXXMAAXXMAMAXMAMASAMXSASAMMMMMMXMMXAMSSSXMSAMXXSAMMMMAMSAMMMMAMXAMAXMAMXXAMAXXAAXMSMMMMMSMSMXMAXXAAMAAAXAMXXXMSSSMAMAXASAAAAAMAX
|
||||
MAMSAMAAXMMAMXMSAMXSSMMSSXMMMMXSASXMAMMSMSMAMSMSMAAAXASASAAMMSAAMSMAAXSASASMSMAMSSXMASMMASMSSXMAXXXAXAAMAMSMXSXSMSMMAASAXMAMAMMSMSASMSMSSSMX
|
||||
SAMMAMMSMSMSMAXSASAMAMXXMAMXMASMMSMMSAAAAASASXAXMMMMXMXAMMMMAMXMSMXMSMSASAMAAMXMAMAAAXAMAMMXMASXMASMMMMSASAMXMMMXAXXXMSAMXASMMAAXXXXXXMAXMXX
|
||||
MXMXMMMAAAXAMXMMXMMSAMXMSSMAXMXMAMXAMXSMSMSMSMMMMSMSSSSSMXXMAMSSMXMMXAMMMMXSXSMMMSXSSSXMAXMASAXMAMAAASXSXSASXXAXMASMAXXMXSXMAMMSSXMSMSMXMXMS
|
||||
SMSAMASMSMSXXAMMAXXSXMAMXMASMXAMAXMASAXXXAMAXAXAXAASAAXMAXXMAMSAMXAAMSMXSMXMASAAMXAMAMXSAXSAXXXXMSSSMMXXASMMMSSMMAXXXMASMXASMMSAMAXMASAXSAMX
|
||||
XASXSASAAXAMMSXMMSMMSXMSASXMXSMMMSMAAMMMMMMMMMMMSMSMMMMSAMXMXXSAMXSXXAXAAXSSMSSMXMSMMMMMMXMASMSMAAXMMSSMAMMAAMXAMASMMSSMASAMXMMAXXAMXMAMSAMS
|
||||
MXMAMASXSMXSAXASAMAASXMSAXASAMMSAAMMSXAXASASAMAMAMAMASMSXMXMMMSAXAMMMSMMSXMAXMASMSMSXXXAXSMMXAAMMMSMAAXMAMMXSSSXMXSAAXXXXMXSXXSMMSMXAMMMSMMA
|
||||
AAMAMAMAXXAMMSAMASMASAMMAMSMMAAMXMMSMXMSMSASXSAXMSASASAMXXAXAAMMMXSAAXAXMMSMMSAMXAMSXXMASXMMMSMXSAXMMSSSMSAMAAAASXMMSMMMXMAAMMSAMASMXSAAXAMX
|
||||
SXSXSXMMMMSSXMASMMMXSAMMAMXAMMSSMMSSMSMAAMAMASASASASXMAMXSMSSSMMSASMSSSMAAXSXMXMSXSMAMSMMAXMAAXMASMXAXXMASMMSSXMXAXSMXAAAMAMSASAMAMMMSMSMMMA
|
||||
MAMAXAMSSXXAXMAMXMSMSXMXMXSXMAMAMMASAAXAMAAMMMAXAMAMXMAMXSAAAAAAMXSAAAAMMMSMXSSMAMAMAMAASMMMSXXAXXXMMSMMMMXAAAMXXMMMASXSXSSXMMSXMAMAASXXAMXM
|
||||
MSSMMXXAXMSMXSAMXMAASASASXSSSXSAMXMMSMMMXSSSSMSMXMSMMSSSMMMMMMMMSMMMMMMMAXAAXSASASAMXSMMAASAAAXSAMXXAAAMMXMMSXSAAMAMMMXXMAMAMXMMSSXMMSASMMAM
|
||||
AAAMMXXSXMXXASMSAXMSMAXASAMASAMXMSXAMXASMMMAMAXAXXXAAAAXAXXXXMXMAXXMASXSSSMSMSAMXSASXXMASMMMXSXMASMMSMSMMXSXAMMMMMASMSAMXASAMASXAAXSAMXMXSAM
|
||||
MSSMMMMMXSMMMSASXSSMMMMMMXMAMSMAMXMMSSMMAAMAMMMMSSSMMMSMSXMMSMASAXMMMXMAXAAAAMAMXSAMXXSAXMASAMMSAMMAMSMASMMMMXSAMMXMASASXMSXSSSMMMMMASMMXXMX
|
||||
MXAAAAAAXMAMSMMMMXXAAXSXMXMASMSMSXXAAAMSSMXMSMXAAAAAMAXXMASAMSMMMXSAAAMMMMMSSMMMXMAXSAMXSSXSAMAMSAMXMASAMAAAXXMASAMXMSASMASAXAMXSAAMAXAMXMSA
|
||||
ASMMSSXMMMAMMAMXAMSMMSMAMAMXMXAMXMXMMSMAMXAXAMMMSSSMMASAMAMAMSXXAAMMXXMXMMAXAXXSXSMXMAMAMAMSXMXSMMSMSMMMSSSMSXSAMXMXAMAMMAMAMAMAMMMMMSMSAAMX
|
||||
MSAMXXXASMSSSSMSSMXAMAXSSMSAXSXMAMMSAMMASMMXAMMMAMAAMMMMMASMMMMMMMSSMSMAMSMSMMMMASMXMXMXSAAMASXMMMAAAXAMAAAAXMXMMAMXMMXMMSMMAMMXMAXXXAAMMSMM
|
||||
XSAMAMSAMAAAAXAMMXMASAMXAAMXMAMMASAMMXSASAXXSMAXASXMMMSMXASXASXMSAAAAAMAMAAAXMXMAMMXMAXASXMSAMAMXSMSMMMMMXMAMXAASASMXMXSAXAMXMAMSMSSMMSMAAXX
|
||||
XXXMAXSXMMMMMMSMMAAMMAMSMMMMAMASMMMSMAMSMXMAXSXSAMXAAMAMAMXMXMAAXMSXSXSASMSMSSXMASXASMSMXMXMAMXMASAMASXMSMXXAMMMSASAAXMMASMMAMAMAMXAAXMASMMM
|
||||
XMSSSXSAXMAMXMXASXSXSAMMAMMAMXXAXAMSMAXAMAMMMAMMMMMSXSASMMSXSMMMAMAAXMSAMXAMXXAMASMMAAXMASXMAASMMSASAMSAAXMSSSMAMMMXXSAMXMASMSSSSMSSMMXAASAM
|
||||
AXMAMASAMMASAMSMMSXMSAMXAMXSXSMXMMSSSMSMXAXAMXMMASXAAMASMAAASXMAAMMMSAMAMSMSAMXMASASMXMSAMAAAXXAXSXMASXSMSAAAAAXXAXXMAMSASXSMAMAMXMAMXMMSMSX
|
||||
MSMMMMMMMSASXXAASAMAXAASMMMXAAMASMAXXXAXSSSMSASAAXMMSMXMMMMXMASXXAXAMAMXMAAMAAXMXSAMXMXMASMXSSSMMXXXMMMMMSMMSMMSMSMSAMASASXXMAMAMMMAMSXXMAMX
|
||||
AAMXAXAXMAMMXSSMMASMMSMAMAMMAMMAMMSMSAMXMMAASASMAMMAXMASAMXXSXMMMMMMMASMMMSMXSMSMMMMXMAMMMXAXMASASMMSAAMASAXXAAXAAASMSAMXMAMSMSASXXAMXMMMAMM
|
||||
SMXSASMSMSAMXAMXMAMXAMXMMAXAMXMSSMAAXMXMSMAMMXMXXAMXMXMAMAMXMAXSAXMAXXSAAAMAMAAAMAMMMMMSMAMMMSXMXXAASASMASXMXMMMSMXMXMASMXSAAXAAAMSMMAMXMAMA
|
||||
MXMAMMMAAXASXSSXSAMMSMAXSSSSSSXAAMMMMMAMAXAXSMSASXMSXMMMASXMSAASXMMSSXMXMXXAMMSMSASMSAAXMAMXAMASMSMMMAAMMMASXXXAXXXMSMXMXAMMMMMMMAAXXASMSSSS
|
||||
MASXSAMXSSXMMXAXXAXAASXXMMAAAMMSMMXAASASMSMSMAMASAASAMAMAXAMXMMMXSAAXAXSMSSXMXMXSASASMMMSSSXMSAMXAAMMXMSXSAMXMMMMMXMAXMXMXSAASXSMSMSSMSAXMAX
|
||||
SAMAMXSAXMASXMSMSSMXMAMXSMMMMMAAASMSXSXXXAXAMXMXSXMMAMXMMSMMXXXAAMMMSSMSAXAAXXMAMAMMMMSMAXAMMMASXSMXMSMAAMMMAXAAAAMXMSAMXSSXXXAXAAXXAAXXXMMM
|
||||
MASMMMMXSMMSXSAAXAAMXSSXMASXSXMMSMAAXMASMMSXSXSXSXMMMMAAMAXXXAMMMMMXAMAMMMSMMAMSXSAXXXAASXMMSSXMAXXMXSMMSMASASMSMXSAAAXASMMXMMSMSMSSMMMMMSXA
|
||||
XMAMXXSMXAAMMSXSMMMMMMAXXAMAXAMSAMXMSMAMAAAASAMMSXSAMSSMSASMMSAAMMSMMMAMXAAXAMXXAMXMASMSMAAAXXMMMSMMAXMAAXXMAMAAAASMMSMSMSAASMXAMXMMMSAAAMXS
|
||||
XMASMMXAMMMSASAXXXMSAMXMASMMSSMAMXAXXXXXMMMMMAMASASAMAAXMAAAXASXSAMASXSSMSSSXMAMXMAXXAXAXMMMSXSAAAAMSSSSSMSMMMSMMMXMAXXAXMSMSAMMMAMAAXXXMMMM
|
||||
XMAMASMSXMAMMMAMXMASMSXSXXAXAXXXMXMSSMMMXAASXSMMSASXMMSSMSMSMMMMMASMSAXXAAXMMMASAAASXSSSSSSXSASASMSMAXMAXAMXMAXAXSAMXSAMXMAMMMMASASMXXSSXSAS
|
||||
MMASXMAXAMMSAMAMASXMASAXAMSMSSSSSSMAXAAASMMSAMXXMAMAXSAXAXXXAAAXSXMAMAMSASASXSXSAMXSAAAXAAMAMMMAXAAMXSMAMXMAMXMAMXASAAAXMXASXXSMSASMSAAMMMAS
|
||||
XSAXAMMSXMXMASASASAXSMMMMXAMXAAMAAMASMMMXAAMAMXMMXMXSMMSAMASXSSXMAMXSAMXXMASASXMAMMMMMMMMMMAMAMXMMMSAXMASMSMSSSMMSSMMMMMMMASAMXXMASAAMXSXSAS
|
||||
MMXXAMXSAMMSAMXMASMMMAASMMSSMMMMSMMASASMSMMMSMSMSSSXSAAMASXXMXXASMMAXXSXXMSMMMASMMMAAAXAMSXMXSSMMSAMMSMXXAAAXAAAMXMASXMASMSMMAAXMSMMMXXAXMAM
|
||||
AAMSMMAXAXAAMMMMMMMMSSMSAAMXMMMXAMMXSAMAAXXXAAXAAAXASMMSAMXXSASMMMMMSMMMSSXASMAMAASXSSMMMASMAXAAAMASASXSMSMSMSSMMAMAMXMAMXXAMSMMMMAASMAMXMAM
|
||||
MXMAXMXSMMSXMAAMAAXXMASMMSMAAASMMSMAMAMSMSSSMMMMMSMMMSMMAXSAMASAAXAAAAAAXXSMMMASMMMMMMAAAAAMMSSMMSAMAMAAAXAAAXAAMAMAMXMMXSSMMMMAASMMSXAXASAS
|
||||
AMSSSMASAAAASXMMMSMSXMASAAXMMXMAAAMASAMXXAMASXSAAXXSASMMAMXMMAMMMMMSSSMSSMMMAMXMASXXAMXMMXSMXAAXAMAMAMMMXMSMSSMMSSSSSMSAXXAXMASXMMAMMMXMXSAS
|
||||
XAXAXMASMMSXMAMSXXASAMXMSSXSSMMMMMSASMSMSMSAMXXMXXAMAMMSAMXSMMSSMXMAAXAMAAAXXXSXAXXMSSSMSMXXMMSMSMSSSSSSXAXAAAAMXAAMSAMXXSAMXAXMAMSASXSXMMMM
|
||||
ASMSMMASXMMXMAAAAMMMXMMMMMMMMAASXMMAXAAAMXMAMSSMMSMMSMMASXAXXAAMAAMMSMSMSSMSSXSMSMXXAAAAXXSMSMMAMSAAAAAXMASMSSMMMMSMMMMXMAMAMMMMMXMAAAXMASAS
|
||||
MAAXXXAXAXSXSMSMMMSMASAAAAAMMSMMAXMSSSMSMSSSXAAMXAAAXMSAMMSSMMSSSXSAMXXAMXAXMAMAMMMMMSMMMMAAAAMAMMMMMMMMMMAMAAAXXAXAMXMMMAMSMXASXSMMMXMASAMS
|
||||
XMSMSMMXSMSAXAMXAAASAXXSSSXSAMASMMXAXAAXMAAMMSMMXSMMSAMASAAAXAXAAXMASMSMSMSAMXMAMMAAAAMAAAMSMSMSMMAXAAXMXSMXSSMMMXMXMSAASASXMSASAAXAXSAMAMXX
|
||||
MXXASASAMXMAMSMSMSMMSSMMXMAMMMXMXMMMSMMMMMSMAMXMAMAMMXSSMMSSMMMMMXSXMASAXXMAMXMASXSMSASMSSMAMMAXAXMXSSSMAMXAXAMMSMSMMXMMMMMAXMMMMMMSXMASMXMA
|
||||
MXXMMAMXXMMSXAAXAXXAAMXSAMXSSSXMXSAMAXAAXXXMMSAMASXXXXSXAAAAAXSXXXMAAMMAMXXMMSSMSMXXMXSMAXXAMSASMMSMMAMMAMMMMXMASAAASMMXAAMXMAXSAMAXXMAMXAAA
|
||||
MSMSMSXMASMMSMSMMMMMMSASASAAMXASASASASMSSMMMASAMMMMMMMMSMMSSSMMXASMAMSSMSSMAMAAXSASASASMAMXMMSXXXAAAMSMSASXSASMAMXXMMAMMSMSMSSMMAMSSSMXXMMMM
|
||||
XAAAAXAXAAXAMXAAXXXAAMASXMMSMSAMASAMMMXXMAAMASAMSSMAAAXAMAAXMAXXMASAXXAAAMSAMMSMMXMAMXSMASXSASAMMSMMXAAMASAXASMASXSMSSMAXASAAXXSAMXAMAASXMSS
|
||||
XMMMXXXMSSMMSSSSMMMXXMAMAXXAMXAXAMMMMSMSSSMMXXAXAAXXMSMMMMASMXMSXMSMXSMMMXSMSXMXMAMAMXMMAAAMASMAAAMASMSMAMMMMMMXSAAAAXMXSAMMMMMMSXXMXMASAAAM
|
||||
XSSSMSAAAMXAAMAXAXASMMSSMSSSMSSMXXXAXAAMAAASMSSMSSMMXXAMAXAMXXSXAMXXAMXSXXMASMSMSXXAXXSAMMMMXMXMAXXXMAXAMXSAAASAMMMMMMMXMXMAMXMAXMMXAXASMMMS
|
||||
AXAAASMMMSXSMSAMXMMSAAXAXAAAMAXXXSSMSMSMMMMXAAXAMXXSASAMSMSXSXMXAMAMXSXXMMMXMAAXMAMSXMMXSMMXXXMSMSXMXSXMXAMXXMMASMXXSXSASASASMMAMAMSMSASXSSX
|
||||
XMMMMMXXXAAXXMASXSXMXMMSMMSMMMMAMASAAMAAXAXMMMMMMAMMAMMMMAMXSASXSMXMAXMAXAXXMSMMMSMXASMSAMXAMAMAAAXMMXAMMMSMSSSMMMSMMASASASAMAMXMAMXAAAMAXXS
|
||||
SAAAXAAMMMMMMSAMAMMSSMMXAXXMASASMAMXMSSSMSXAXAXAMAXMAMMAMAMAMAMAMASXMSSMMSMMMAMXMMAMAMMXXXAAAAXMSMMMAMAMAMAMXAAXXMAMMAMMMAMASXMSSSSMMMXMXMXM
|
||||
ASXSSMMMAAAAAMMMSMSAXAASXMXMASAXMSSMXXMAAAASXMXSSSSSSXMASAMAMAMXMAMAXAAAXMAMSMSAAMAMSMMSMMSMSMSMAXAMSSSMXSASMMMMMSSMMASAMXSAMAAXAAXMXMMXMASX
|
||||
MMXMAAASMSSMSXXAAXMASMMSXXXXXMMMMAAAXSXXMMAMAAAXMMAAMMSASXSSSMMXMASXMXMMMMSMMASXSMMSAAMAAAAAAAAMMMSMAAAXAXASMXAXXAAXSASXSASXSMMMMMMXAXMAXXXM
|
||||
XMASMMMSAAAMXMMMXMXMXAAMMSSMMSMMMSSMMSXMXXXSMMMSAMMMMAMAMAMAMASMSASMMMASXAAAMAMSMAMAXXMMMXSSMSMAXAAMMMMMMSMXMSXSMMSMMASAMAXAXXAAMAMSMSSSXMAA
|
||||
XXAMAAAXMXMMXAAAAMASMXXSAAAAAMAMAXAXAXAMMSMSXSXSAMAAMXSXSASMSAMAMASAASMXMXMXMMMXXAMMMMMXSAMAXXMMMSXMAAMAAAMAXSXMAAAAMXMAMMMSMSSSMAMAMXAAASMS
|
||||
SMSSSMMSSSXMSSMSMSASAAMMMSSMMMAMMXAMSSXMAAMSAMXXXMSXXMAASASXMXSSMMMMMAMAMASMSMSSSMSXSAMAMAXSAMXXXAAXSSSSSSSMMSXXXMSXMXMASXAMAXMAXXXAMXMSMMAM
|
||||
MXMAAASAXMAMAAMAAMAMMAXAMXAAASXSSMMMMXAMSMSMMMSMXMXSMAMMMMMMMMMAMSAXXMMAMMAAAAAAAAAAASMSSSMMAMSMMMSMAAXMAMAMAMMMMXXXSSMSSMXSSSSSMMSSSXMAMMMM
|
||||
MSMSMMMMSSSMSSMMSMXMAMMASXXMXSMAXAAASXMMXXXXMAMSXSAMSXMAMXAASXSSMMXSMXSSSSMSMMMSMMMSMAMAAXAAAXAAXAAMMMMMSSSMMXAXAAMXMAMAMMASAMAMAXAXMASASAMX
|
||||
XAAAXXAXMXAMXAMAAXXMAMSMMMASASMSMSSMSAMAXMXMASXAMMAMAMMSASMXSAMASMAXAMXAAAXXMXXAMAAMXAMMSMXXMSXXMMSMMASXAAXAXSSMSASXSAMAAAMMMMASAMXMXMXMMMMM
|
||||
SMSMSSSSMXMSSXMSMSSMAXAAASMMAMAAMXMXXAMSSSXXAXMMMSMMXSAMXAXAMMMAAMAXMAMMMMSMSMSMSMSSSSSXXMAAXMMSSMXAMASMSMMXMXXAMAMMMXXSSXMAMMMXMAMSXSAMSMSM
|
||||
AMAAMAAXASXAAAXAAMMSMSSXMXAMXMSMXAXXSXMXAMMMXXAXAXAAXMASMSMMSXMSSMMMSAMXAAAAAXSMMMAAAAAXAMXSXAAAAASAMAMAAXMAXAMMMAASXAMMAMSASAAMASMAAMMMAAAS
|
||||
MSMSMMMMMMMMSSMXSMASXAXSSMMSAAMASXSMASAMAMMAMMSMSSSMXSAMAXAXAAMAMAAAMAMSMSSXSAMXSAMMMMMSASAAMMMSMMMMMMSSMMXAMMSSMSXMMXSMAMSASMSMMMMMSMSSMSMS
|
||||
XAMXMSXMXAXXAAMAMMAMMXSAXAAXMMMAXAAAAMXSAMMMSAXAAAAMMMASMSXMSMMASMMMSMMXAXXAXASASAXMXMXMAMMXAXAAMAAAXAAAXSMMSAAMMXAXSAAMMMMMMMXXAXXAAAXMAAAX
|
||||
AMXXXAASXMSSMMMXSMMSAMXMSMMSSXMXMSMMXSXSASAAMMMMMSMMSXAXAMXMAXSAMXXXAAXMSMMSMMMXSAMXASAMXXAASMSSSSSSMMSMMASAMXMSASMMMXSXSMSASMMSSMASMMMMAMSM
|
||||
MSMSMSMMSAAXXXMMSAMXMAAXSXAAXXSSMAMSMSXSAMXSMXMAMAAAMMMSMXMMAXMASMXSSSMAMMAAAXAXMMMSMSMSXMAXXAMAAMAMAMMMSAMMXMXMAXSAMXXAMXSASMAAAXAMXSAMXMXM
|
||||
XXAAAAXAMMSSMASAMAMMSMSXSMMSMMAXXASAAMAMXMSAMAMAMSXMSAMAXSMMSSSMAMXAAXMXMMMSSMSSMAXXMSXMAASAMXMXXMAMXSSXMAXXAMAMMMSXSAMAMXMXMMXSMMSAMXSSXSAS
|
||||
MSSMSMMMXMXAMMMSMXMXSAMASXMAMMASMMXMXMAMAXAMSAXAXXAMSASXMXAAAXXMAMMXMMXSAMAMXAAAXMSAXMAXMAXAMMMASXXSAXMAXXMXASASAAXXMXSAMMMAMAXXXXMAXSAMASAS
|
||||
XAAXMXMAAXSSMMAMXAMAMAMAMXXAXMAMAASXSSSSSSMMSMSMASAMSAMXMMMMSMSMSSMAXAMSAMSXMXSAMXMMMSMMMSXSMAMAMSAMAMSSMMSXASXXMXSMAMXAMAXASMMSMXSSMMAMAMXM
|
||||
MSXMXAMSMXAMXMASXXMAXAMSSSMSAMXSMMMAAXAAXAAAXMAXMMMMMAMXMASAMAASMAXAMXMMXMXAMMMXMASMMMAXXXAXSMMMSMXMXMAMAAXMXMMXSSMAASXSSMSAMMAAMAMXXSXMSSSS
|
||||
MMXMSXMAXMAMXMASMMMMSASAAXAXMAMMXAMMMMSMSSMMSSMSSXSASAMXXAMASXMMSAMXAAAXMASXMXMSXAAAAMAMMMMMAMSMAMXXXMXSMMMXMAXAMAXXASAXAAMXMAXAMXMMMSAMMAMX
|
||||
XAAXXMASXSMMXMASAAAAMMMMSMMMMSAASXSASAAXAAMXXAXAAXSXSASXMAXMMAXXMSSMSXSASASAXMASMSXSMMAMMAMSAMXSASMMXSXSAAASMMMXSAMMMMMMSMXXMMSXMSAMASAMMAMA
|
||||
MSMSASAMXMAMXMASMMSMSXMXXAXSAXMXMASAMMXSSXMASXMMSMMMXMMXAMXMSAMXAAXMMXMXMAXAMMMMAMMMMSMSXXMSXMXSXSAXMXASMMXMAMAXMMMSMAXAXXMXXXSAAAMMASXMSASX
|
||||
XMXSXMXSAXAMXMASAMAMMASASMAMAXAAMXMAMMMAMAXMMMMXXXSAMSSSSSXMAMXMMMSMMASAMXMSXSAMMMAMXAXMASXMSAXXAMMSAMXMSMASMMSSMSAMSMMASMMMSASMMMXMAXMXSAMX
|
||||
XMAMXMASMSXSAMXXMMXMMAMASMSMSMSASXSAMXAAXXMMAAMMMXMXSAAAXXXAXXAAAAAAXAMXMXXAASXMXMMSSMMMASAAAMMMXMXSMSXMASMXXAXSAMXXAXSXXAAMMMMAMMXSXXSAMAMM
|
||||
SMSMXMAXXAAMASASASAMMSMMMMAMAAMASAMXMXMXMMMMAMXAAAAXMMSMSMMMSSSSXSSSMASXMSMMXMAMSSXAMSMMAMMMMXXAMSMSXSMSMSXXMSMMMMMSSMMMSMMSAAMSMSASXMMASXMA
|
||||
SAAAAXXSMXSAAMAAAMMSAMAAAMAXMXMXMASASAXAMXAMSSSSSMSASAAAAAASMAMMMMAXXAMXMAAXXMASAAXMAAXMSMMASAMXSAASASAAXMMXSAAAMAAMXAMAXMASXSMXAMASXXXAMXXS
|
||||
MXMXSXMMMMMMXMXMSMXMASXMSSMMMAXXSAMASXSAMSAMXAXMXAXMSSMMSMMSMMMMAMSMMMSSSSSXXXSXMMXXMMXMXASXSAMXSMSMAMMMMAMXSMSMSMSXSAMSSMASMMXMAMAMAAXSXMXM
|
||||
SSMAXMMAAAXXAMMXAMAXAMAXAAXAASMMMASAMXMAXXAMMMMXMXMXMAMMMMMXAXAXXXAAXASAMXMMSMAMXXXSSXSASAMXSAMXXXAMAMSSSMMMMAXMXAXMMSXXAMXSXAASAMAMMMAMAMSX
|
||||
SAMASASXSSSMXMASMSXSAMXMASMMMMAXSXMASXMAMSMMAAXSMMSSSMMASXMSSSMMSXMMMMXAAASAXXMAXMXMAAMMMAMAXAMAMSMXXSAXMAAAMSMSMMMXAMXXAXAMXSXSASXSMXMXAMAM
|
||||
SAMASMMMXMAAAMMSAAMMAMXXXXAXASXMAMSAMMSMAAXSXSAAXASASXMMSAAAAXMASAMXAXXSMMMSSMXSXSAMMMMASMMXSSMSMAMSMMMSSSMSSXAXAMAMAMSSSMASMMAMMXMXMXMSMMAM
|
||||
MMMMMMAXAMXSSSMMMMXSAMMSMXMSASAMXAMASAAMSMXXAMXMMXSAXMMXSMMMSMMMSAMASMMXAXAMXAXMASMSSXMMMAXXAXAXSMMAAAXAMAAMXMSMXXXSAMXAXSXMAMAMXAMSAMMAMMSS
|
||||
XSASMSSSMSAXAAXMAAMSAAAAASXSXXMASASMMXXXAXSMXMAXXXMMMXMAMXXXXAXXMAMXAAASXMMSSSMMAMMMAASXSMMSMMMMXMSSXMMSAMXMAMAAMSMMMSMAMXMSMSMMSASMAMMASAAX
|
||||
ASASAAXAXMMSSMMSMSMSSMMSSXMMASMXSASMAXXSASXMASASMMXSAMXSMMMMMMXSMMSMMMXMAAAAMASMAMAXSMMXAAAMXSAAAMAMMAAMMXMAMSMSMAAAXAMXMAAMXMXAMMXXMMSAMMSM
|
||||
AMAMMMSMMXAAAAXXAMXMASMXMMAMAMAAMAMMXMXMXMXSAMSMXAMSAMAAXAAMASASAMXAXXMASMSXSAMSMMMXAXXXMMMMASXSXSASMMMSSSSMXSAMMSSMMXMASAMSAMMXSMMMMMMMSMMA
|
||||
MMMMMAMXAMMSSMMSMSASAMXMASMMSSMSMXMAMSAMXMAMXXAMXXASMMSMSXMMAXASMMSAMMMAAXXAMAMXXASMSMSMMSAMXMAMXMAMXAAMMAAXAMAMXMXMAASMXMAMAXMXAMAAXAAASMMS
|
||||
XASASXSXSSXAMMMSASAMAMAMAMXMXMXXMAMXXSXXXMASMSASMMMXMAMMXAMMSSMMXAXAMAMXSAMXMSAMMXSAMAAAASASMSXSAMAMMXMXMSMMXMAMXMAMSXMASMMSSMMSASMMSMMMSAAX
|
||||
SXSASASMAMMMMSAMXMMSSMAMMSAMAMXMSMSMMMSMXMASAAAAXXASMXSASAXAMAASMXXMSXSXXMAMXMAXSAMXMXSMMSXMAAMMASXSXMMMXAMAMSMSAMSMMAMAAAXAMAXSAMXXMXSASMMS
|
||||
SAMAMAMAAXXSAMXSAMXAAXXMAXASMMAXXMAXAAMMAMSSXMMMSAASAASAMAMSSSMMMMSMAAMMSSMASMXMMASXMXMAMSMMMMSSMMAAXMAAXMMAXAASMXMASXMSSMMSMSMMMMSAMAMXMAAS
|
||||
MAMAMMMSMSXMASAXASMMSSSMXMAMXSMXSMAXXXAMXSAMMXSASMAMMMSAMXMAAAMAAAASMSMAXAMMXAMXMXMASMMAMXAMAAXXAMAMMSASXXSSSMXMMSMMMAMXAXAAXMAXSAXMMSSSXMXM
|
||||
SXMASAAAMXASMMMMMMMXAXMAXMXMMAMASMMMSAMXMMXMMMMASMSXXASMMSAMXMMXMSMXSAMSSMMXXMSSXMMAXASXMSSSMSSXMMSXAMAXXAXAXXMMAAAASAMSXMSMMSAMMSSXMAAMMSSM
|
||||
MAMAMMXMASXMAAAASASMSSMSMSAAAMMAMAAASMSXXSMMSAMXMAXMMXSMASXXMXSSMXAMMMXAMXAAASAMASMSMMMMAAAAAXAASAMXMXSMMXMXMMXMSSSMSAMXAXXXMXXAAMMAMMMMXAAM
|
||||
SAMXXSMMAMASMMSMSASXMAAXASXMXXMSSSMMMXMXMXAMXAXSMMASMMXMASMMSAMXAMSSXMASXMMSSMASAMXXAXAMSMXMMMAXMASAMAMAXXMXXMAMAMXMXMMSMMMMMMMMMSSXMASXMSSM
|
||||
MMXSAMAMASMAMXMAMAMASMMMASMXMAXAAXAXMAXASXSMSMMXXSAMAXXMAXAXMAMMXMAAMSAMAMXXAMMMMSSSMMXXAAASXSXSXXSAMASAMAXSSMXMMSAMXSAMAAXAAAAAMXMMSAMXXAAA
|
||||
MAAMAMMSASXXMAXASASMMXXMXMAASAMMSMMASMSMXAMMSXAXMMMSMMSMMSSMXSSMMMXSMMASASMSMMXXXAXAAASXMSMSASASMMSASAMMSMAMAMAXXSASAMASXMXSSSSMSAMMMASMSSXM
|
||||
MMSSMMASASMMMXSAMAXXSXMASMSMSAMAMASAAMAXMXMASMXMXSXAXAAAASAMXAAMXSAMAXXXAMAAMSMMMMSXMMMAXMAMAMAMMAMMMMXMAXXSSMSSXSAMXSMSASAMMAAMSASASAMXXAMA
|
||||
MAAAXSXMASAXAAMXMAMMMXSASAMAMAMASMSMMSAMXSMMMMXSXMXSSSMMMSASMXXMAMASMMSMSMSMXAAAXXAXSMSMMMAMXMAMMSSSMMASMSMAMAXMAMXMXMAMAMSMMSMMSXMASASAMXAM
|
||||
MMSSMSAXAMXMMSSXMASMAAXXSAMSMASXSAXMXMAMAXMMSSMMAMSXAAXAAMXXXSSMMSAMASAAAAAMXSMMSSSXSAAMMMXAXSMMMMXAASASAXMAMSMMAMASAMXMAMAXXAMXMSMXMMXXAAXS
|
||||
MAMMAMXMMSXSAMXMSASMMMSMMAMXSXSXMMMSASXMMMSAAAASAMSMSMSMSMMMMAAAAMASMSMSMSMSAXAAAAMAMSAXAAMMMASXSSSSMMAMMMSASAAXSSMSXSXSXSMXXAXAXASAAMMMSSSM
|
||||
MAXMSMXMAXXMMMSAMXXXXAXAXAAXAMXMXAAXMSMMSAMMSXMAMMXAAXAAAXAAXMSMMSAMXSXXAMAMASMMMMMAMAMSXSAMMAAXAAAMAMXMMXSMSXMMAAASAMAAXAXXXMMAXMMSMMAMAMAM
|
||||
SMSAAAXASXXMMMAMMSSSMXSMMSMMXSAMXMXSASAAMAMAXXMASXMSMSMSMSSSSXXAMXMMMSAMSMSMMMXMAMMAMAXMAMMXMMMMMMMSSMMASASXMASMSMMMAMAMMMMSMSASMSMXXSXMXSAM
|
||||
AAMXMMSAXASASMSXAAMAXXAAAXASMMAMSAMMXMMMSAMXMASASAAXAXXXAMXAMMMAXMASAMMXMAAMAMXXAASXSSSMMMSSMMXMAMXXAASAMXSXMAAMASXXAMASAAXAAAAXAAASMSASMSMS
|
||||
MSMSMAMMAMMASAAMMXSAMXSMMSXMASMMAMXMMMAMXMXXSAMMXMMMMMAXASMMMAXAMXAMXXMAXSMSASMMMMMAAXAMXAAASAMSSSMSSMMASAMAMSMSASXSASXSMSXMXMMMMMSMASAMAXAX
|
||||
AMAAMXMXAXMXMMMXMXMASAXAAMASMMSMAMMMASMSAMAMMMMMSSMSMASAMXAAMMSSMMMXAMXSMMXSXSAAAAMMMMMAMMXSMMMAAAMAAMSMMMSXMAXMASAMXMASAMXAASASXXXMXMMMMSXM
|
||||
SMXMXSSSXSAMXXMSMMSAMASMMSAMXAAMAXXSXMMSAMASASAAXAAAAAXSXMSMSMAAXSSMXSAXAMASAMMSSSSXXAXSMSMXXSMMSMMSSXAXMAMXXXXMAMXMAXXMAMMXMSAXMMSSXXMSASAM
|
||||
MAMXMMAAAMAXXAAXAAMASAMMMMXSMSSMXMAXASXSXMXSXSMSSMMMMMSMMMMMAMMSMAAMXSXXAMXXAAAMAAAMMMSMAAASAXSAXMXAXMMSMASMMSMMMSAMMSSMMMSXMMMMAXAXXSAMAMSM
|
||||
XAAXAMSMMMAMSMAMMMSAMMMXAAXXXAAASMSMXXAXXMXMAMXMAMSXASXAASASASMMAMMMASASMMSSMMXMMMMXAXXMSMSMAMMMMMMMSMXXXXXXAAMXASMSAAMAMXMASAMSSSMMAAMMMMMX
|
||||
SXSXSXXXAXMXXXAXAMMMSMMSMSMMMXAXMAMAMMMMXMAMAMAMMAMAXAMSMXASASMXAMXMASMSAAXXXMMXXSMSMXSMXMXXSXMMASAXAAXMXMXMSMXMXSASMXXAMAMAMAMAAAXAXMXMXAXA
|
||||
XSAMXMMSMSMMMSXSXMASAMAAAAAAAMMSMXMASAAXASASXSSSMSASMMAAMSMMXMASAMXMASXSMMMMAMMSMSAAAMSASXAXMAMSASXSASMMMSAMASAAAMAMAMSSXSSSXSMMSMMSXXAMMXSM
|
||||
SAMXMAAAAAXAXXAMXSMSASXMSSMMXSAAXMSASMXXAMXSXAAXAMAMXXSMXAXSXMMASAAXAMXXXMASAAAAAMSMXMMAMMSXSAMMMSXMAMAXASAMAXMSMMMMXMAMMXAMAAMXAXXXAMAXMMAM
|
||||
AXMAMMSMSMSMMSSMAXXSMMAAAXAAAMMSMMMXSASAMXMMMSMMAMSSXAMXSMAMASXAXSMSSSMMSSMSXSXMSMXXSMMAMAXMMMMSAMAMXMMMMSMMMSAAMAAXXMMSSMAMMMMSXSASMSSMAMAA
|
||||
MMSXSAAXAXAMAAAMASMMASMMMSMMMSAMAXSAMAMAXSXAAAXMXMMAMXSAMXMMAMMMMMMMMAASASMMMMMMMMMMSAMMMMXAAMAMASMMAMASXMXAXAXMSSSSXSAAAMXMXXAXAMAXXAAXXMAX
|
||||
SAXAMASMXMXMMSAMAMAAAAXMASMAMMMSAMMASMMMMASMSSMMASMXMAMMMXSMXSAAAXAXXMMMASXMASAAAAAXMAMXAAMSMMAMXMASMSASAMMXSAMXAXXAAAMSMMSMMASMXMAMMMSMMSSM
|
||||
XSMMSSMAXMMAMXXSXMSMMMMMSSXXXAXMXXSMMXAMXMXMAAASASXSMXSAXXSAASXSXSSSMXMMMMXSASMSSSSSMXMSMMAXMMSXXSMMAMASXMAMSXSMMSAMMMXMXAAASMMMAXSXAAXAMAAM
|
||||
MXMAMAXMASAASXMXAAMMMSMXMMXMSMSXSXAMAXMSAXMSSSMMASAMMAAXAMMMMSAAAMMMXAAAAMMMMSAMXMAXMXMASMSMMAXSMMXMXMXMXMXMMMMAXMAMAXAXMMSAMXMSSSMMMXSAMSSM
|
||||
SAMMSMMXAMMXSAAMMMAAMAAXASAAAAMAMSMMAASXMAXAAXXMXMAMMAMMXAASMMMMXMAAXMSMSMAAAMMMAMASXXMAXXMAMASAXMASASAMXXXASAMXMXSMMSMMAMXAMXMAXAXMSASAMXAX
|
||||
SXSXMXMMSMMASXSXSSSSSMSSMXASMSMAMAMMMXSAMXMMSMXMASAMXSSMMSXSMAAXASMSSXAAMMSMSMXSAMXMASAXSASXMXSMMXMSMSASAMSMSASXMAXAXMXSSMSAMSMMSXMMMASMMSSM
|
||||
SMMAMASMAAMASMMXMAXAAMAMMMMXMAXAMAXXMAMASXXXAXASXMMMXMAXAMMMMSXSMSAMXXMMSAXMXAAXXXXMAMMXMMMASMXMAAXMASMMAMAASAMAMAMMXMASAAMSAAXXSMMAMXMAMAMA
|
||||
SAXMSAMXSMMSSXSMMMMMXMAXXAMXMMSMMMSSMMSAMMMMMMMMAAAMASMMXSASMMMSMMMSAMXAMAXAMMSXSSSMMMSAMXSAMXAXSXSXAXASMMMMMXSXMMMSAMXSAMXMSSSXMAXSSXSAMASX
|
||||
XMMXMAXXMXSASXSAMXXSXMASXSMMXAAXAXXMAAMXSASAAASMSMMXMMAAXMMXAXAMXAMXMXMSSSMSXAMXXAAXAAMMSAMASMMMXMMMMSMMAASXSAMMMAASXMXMASXMAXMAXSMAAASASXSM
|
||||
MSMMSSXAAXMASMSAMAMAMMASMMMSMSSSMSAMSMMXSASMSMSAMAAASXSMMMASMMMSSMSASXXMAXAXMASXMSMMMSSMMAMAMASAXAAAXSXMSMMAMXSAMMMSASAMASASXMASAAMXMMMMXMMA
|
||||
XAAAAXSMMMMXMASMMAXMSMASMXAAAAAAAMXMAASAMMXAAAMAMMSMSAMAAXMSAXSAAXMAMSAMXMSMMSAXAAXXAMAXSSMMSAMXSSSSSXSAAAXSMASXSAASXMAMASAMSAAMMXXSAMXAAXSS
|
||||
MSMMSXXXAXXSAMXXSASXMXSMXMSMSMMMMMASXSMXSMMSMSMMMAMXMXMSSSXSXMMMSMMMMXXXSAMXXMXMSMSMMSXMAMMXMASAXMMXMASXSSMMMXSXSMXSMSXMXMMMSMXSXMSMSXMSAMAM
|
||||
75
day_4/main.py
Normal file
75
day_4/main.py
Normal file
@@ -0,0 +1,75 @@
|
||||
def count_word_occurences(rows: list[str], word: str) -> int:
|
||||
occurrences = 0
|
||||
reversed_word = "".join(reversed(word))
|
||||
wordlen = len(word)
|
||||
|
||||
horizontal = []
|
||||
for line in rows:
|
||||
for j in range(0, len(line)-wordlen+1):
|
||||
horizontal.append(line[j:j+wordlen])
|
||||
|
||||
horizontal_occurrences = [x for x in horizontal if x in (word, reversed_word)]
|
||||
|
||||
occurrences += len(horizontal_occurrences)
|
||||
|
||||
columns = list(zip(*rows))
|
||||
vertical = []
|
||||
|
||||
for column in columns:
|
||||
for j in range(0, len(column)-wordlen+1):
|
||||
vertical.append("".join(column[j:j+wordlen]))
|
||||
|
||||
|
||||
vertical_occurrences = [x for x in vertical if x in (word, reversed_word)]
|
||||
occurrences += len(vertical_occurrences)
|
||||
|
||||
diagonal_ltr = []
|
||||
for i in range(0, len(rows)-wordlen+1):
|
||||
for j in range(0, len(rows[0])-wordlen+1):
|
||||
diagonal_ltr.append("".join(rows[i+k][j+k] for k in range(0, wordlen)))
|
||||
|
||||
diagonal_ltr_occurrences = [x for x in diagonal_ltr if x in (word, reversed_word)]
|
||||
|
||||
occurrences += len(diagonal_ltr_occurrences)
|
||||
|
||||
diagonal_rtl = []
|
||||
for i in range(0, len(rows)-wordlen+1):
|
||||
for j in range(wordlen-1, len(rows[0])):
|
||||
diagonal_rtl.append("".join(rows[i+k][j-k] for k in range(0, wordlen)))
|
||||
|
||||
diagonal_rtl_occurrences = [x for x in diagonal_rtl if x in (word, reversed_word)]
|
||||
|
||||
occurrences += len(diagonal_rtl_occurrences)
|
||||
|
||||
return occurrences
|
||||
|
||||
|
||||
def count_x_mas_shapes(rows: list[str]) -> int:
|
||||
occurrences = 0
|
||||
shape_length = 3
|
||||
|
||||
for i in range(len(rows)-shape_length+1):
|
||||
for j in range(len(rows[0])-shape_length+1):
|
||||
if rows[i+1][j+1] != "A":
|
||||
continue
|
||||
word_1 = "".join([rows[i][j], rows[i+1][j+1], rows[i+2][j+2]])
|
||||
word_2 = "".join([rows[i][j+2], rows[i+1][j+1], rows[i+2][j]])
|
||||
|
||||
if word_1 in ("MAS", "SAM") and word_2 in ("MAS", "SAM"):
|
||||
occurrences += 1
|
||||
|
||||
return occurrences
|
||||
|
||||
|
||||
def main():
|
||||
input_file = "day_4/input.txt"
|
||||
|
||||
with open(input_file, "r") as f:
|
||||
data = [line.strip() for line in f.readlines()]
|
||||
|
||||
print(f"xmas words = {count_word_occurences(data, 'XMAS')}")
|
||||
print(f"x-mas shapes = {count_x_mas_shapes(data)}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user