feat: implement day03
This commit is contained in:
parent
1802867d05
commit
e6d7480e7d
47
src/day02.rs
47
src/day02.rs
@ -26,7 +26,7 @@ Paper (Y) -> 2
|
||||
Scissors (Z) -> 3
|
||||
*/
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone)]
|
||||
enum Move {
|
||||
Rock,
|
||||
Paper,
|
||||
@ -39,7 +39,7 @@ pub fn execute_task01(content: &str) {
|
||||
let opp_char: char = line.chars().nth(0).unwrap();
|
||||
let you_char: char = line.chars().nth(2).unwrap();
|
||||
|
||||
calculate_score_from_game(convert_to_move(opp_char), convert_to_move(you_char))
|
||||
calculate_score_from_game(&convert_to_move(opp_char), &convert_to_move(you_char))
|
||||
}).sum();
|
||||
|
||||
println!("Day02 - Task01 - Score: {}", score);
|
||||
@ -54,21 +54,23 @@ pub fn execute_task02(content: &str) {
|
||||
let you_char: char = line.chars().nth(2).unwrap();
|
||||
let opp_move: Move = convert_to_move(opp_char);
|
||||
|
||||
calculate_score_from_game(opp_move, convert_to_conditional_move(opp_move ,you_char))
|
||||
calculate_score_from_game(&opp_move, &convert_to_conditional_move(&opp_move ,you_char))
|
||||
}).sum();
|
||||
|
||||
println!("Day02 - Task01 - Score: {}", score);
|
||||
|
||||
}
|
||||
|
||||
fn convert_to_conditional_move(opp: Move, you: char) -> Move {
|
||||
fn convert_to_conditional_move(opp: &Move, you: char) -> Move {
|
||||
match you {
|
||||
'X' => match opp { // need to loose
|
||||
Rock => Scissors,
|
||||
Paper => Rock,
|
||||
Scissors => Paper,
|
||||
},
|
||||
'Y' => opp, // need to draw
|
||||
'Y' =>
|
||||
|
||||
opp.clone(), // need to draw
|
||||
'Z' => match opp { // need to win
|
||||
Rock => Paper,
|
||||
Paper => Scissors,
|
||||
@ -87,29 +89,16 @@ fn convert_to_move(c: char) -> Move {
|
||||
}
|
||||
}
|
||||
|
||||
fn calculate_score_from_game(opp: Move, you: Move) -> i32 {
|
||||
match opp {
|
||||
Rock => { // Opp == Rock
|
||||
match you {
|
||||
Rock => 3 + 1, // You Draw with Rock
|
||||
Paper => 6 + 2, // You Win with Paper
|
||||
Scissors => 0 + 3, // You Lose with Scissors
|
||||
}
|
||||
},
|
||||
Paper => { // Opp == Paper
|
||||
match you {
|
||||
Rock => 0 + 1, // You Lose with Rock
|
||||
Paper => 3 + 2, // You Draw with Paper
|
||||
Scissors => 6 + 3, // You Win with Scissors
|
||||
}
|
||||
},
|
||||
Scissors => { // Opp == Scissors
|
||||
match you {
|
||||
Rock => 6 + 1, // You Win with Rock
|
||||
Paper => 0 + 2, // You Lose with Paper
|
||||
Scissors => 3 + 3, // You Draw with Scissors
|
||||
}
|
||||
},
|
||||
|
||||
fn calculate_score_from_game(opp: &Move, you: &Move) -> i32 {
|
||||
match (opp, you) {
|
||||
(Rock, Rock) => 3 + 1, // You Draw with Rock
|
||||
(Rock, Paper) => 6 + 2, // You Win with Paper
|
||||
(Rock, Scissors) => 0 + 3, // You Lose with Scissors
|
||||
(Paper, Rock) => 0 + 1, // You Lose with Rock
|
||||
(Paper, Paper) => 3 + 2, // You Draw with Paper
|
||||
(Paper, Scissors) => 6 + 3, // You Win with Scissors
|
||||
(Scissors, Rock) => 6 + 1, // You Win with Rock
|
||||
(Scissors, Paper) => 0 + 2, // You Lose with Paper
|
||||
(Scissors, Scissors) => 3 + 3, // You Draw with Scissors
|
||||
}
|
||||
}
|
87
src/day03.rs
Normal file
87
src/day03.rs
Normal file
@ -0,0 +1,87 @@
|
||||
use crate::utils;
|
||||
|
||||
pub fn execute_task01(content: &str) {
|
||||
let vector = utils::convert_to_string_slice(&content);
|
||||
let rucksack_compartments: Vec<(Vec<char>, Vec<char>)> = vector.iter().map(|line| split_rucksack_in_two_compartments(line)).collect();
|
||||
|
||||
let duplicates: Vec<char> = rucksack_compartments.iter()
|
||||
.flat_map(|(vec1, vec2)| vec1.iter()
|
||||
.copied()
|
||||
.flat_map(|entry| vec2.iter().copied().map(move |b| (entry, b)))
|
||||
.filter(|(a, b)| a == b)
|
||||
.map(|(a, _)| a))
|
||||
.collect();
|
||||
|
||||
let sum: i32 = duplicates.iter().copied().map(|c| convert_char_to_prio(&c)).sum();
|
||||
|
||||
println!("Day03 - Task01 - Sum of Priorities: {}", sum);
|
||||
}
|
||||
|
||||
pub fn execute_task02(content: &str) {
|
||||
let vector = utils::convert_to_string_slice(&content);
|
||||
let compartments: Vec<Vec<char>> = vector.iter().map(|line| split_rucksack_in_items(line)).collect();
|
||||
let mut duplicates: Vec<char> = vec![];
|
||||
|
||||
for i in 0..(compartments.len()/3) {
|
||||
let first_index = i * 3 + 0;
|
||||
let second_index = i * 3 + 1;
|
||||
let third_index = i * 3 + 2;
|
||||
|
||||
let first_vec = compartments.get(first_index).expect("ERR");
|
||||
let second_vec = compartments.get(second_index).expect("ERR");
|
||||
let third_vec = compartments.get(third_index).expect("ERR");
|
||||
|
||||
let mut dups: Vec<char> = first_vec.into_iter()
|
||||
.copied()
|
||||
.flat_map(|val1| second_vec.into_iter()
|
||||
.copied()
|
||||
.flat_map(move |val2| third_vec.into_iter().copied().map(move |val3| (val1, val2, val3))))
|
||||
.filter(|(a, b, c)| a == b && b == c)
|
||||
.map(|(a, _, _)| a)
|
||||
.collect();
|
||||
|
||||
duplicates.append(&mut dups)
|
||||
}
|
||||
|
||||
let sum: i32 = duplicates.iter().copied().map(|c| convert_char_to_prio(&c)).sum();
|
||||
|
||||
println!("Day03 - Task02 - Sum of Groups of Priorities: {}", sum);
|
||||
}
|
||||
|
||||
fn split_rucksack_in_two_compartments(rucksack_content: &str) -> (Vec<char>, Vec<char>) {
|
||||
let first_compartment: &str = &rucksack_content[..rucksack_content.len()/2];
|
||||
let second_compartment: &str = &rucksack_content[rucksack_content.len()/2..];
|
||||
|
||||
let mut first_compartment_vec: Vec<char> = first_compartment.chars().map(|c| c).collect();
|
||||
let mut second_compartment_vec: Vec<char> = second_compartment.chars().map(|c| c).collect();
|
||||
|
||||
first_compartment_vec.sort();
|
||||
first_compartment_vec.dedup();
|
||||
second_compartment_vec.sort();
|
||||
second_compartment_vec.dedup();
|
||||
|
||||
return ( first_compartment_vec, second_compartment_vec);
|
||||
}
|
||||
|
||||
fn split_rucksack_in_items(rucksack_content: &str) -> Vec<char> {
|
||||
let mut vec: Vec<char> = rucksack_content.chars().map(|c| c).collect();
|
||||
|
||||
vec.sort();
|
||||
vec.dedup();
|
||||
|
||||
return vec;
|
||||
}
|
||||
|
||||
pub fn convert_char_to_prio(c: &char) -> i32 {
|
||||
let c_code = c.clone() as u8;
|
||||
|
||||
if 65 <= c_code && c_code < 91 {
|
||||
return (c_code - 64 + 26) as i32;
|
||||
}
|
||||
|
||||
if 97 <= c_code && c_code < 123 {
|
||||
return (c_code - 96) as i32;
|
||||
}
|
||||
|
||||
panic!("never should called");
|
||||
}
|
300
src/input/day03/input01
Normal file
300
src/input/day03/input01
Normal file
@ -0,0 +1,300 @@
|
||||
jLnFTjhwFTLFDGDDvLgvDssBJBbVRNZJPPJBGzBNRVJNRB
|
||||
QWmffSmMZCfWrmHlCflQWfSNBpVBNbPSbbJNppcVVzzpcp
|
||||
lflrqrWMmfdMlrtWWmZgDjsqwFwhFDsngnvhqs
|
||||
CNBGwsWVsdWDNCCVvfPLfQfgZHPBvpgf
|
||||
qhJqJlmcFnhJclllPgZjvpHpvfZpPbLn
|
||||
lpMJJhhcSMDMMwws
|
||||
jphtLMfVpjJRjJscMJptssnrwdNwQrNbwNzQTbcNrwQT
|
||||
gSPPSqGGGrdLrNQGrr
|
||||
PvWPDvWWCSSBBZPjLVDfhjsLLsDhtR
|
||||
hlLwDGLNnTrbNdtbdb
|
||||
ZfsvJbsJTrsttHTR
|
||||
vjPQJPFcmZjVFZFvbbVcJZJPBBhLMnDBznnGMDLMwBhlmBBl
|
||||
JdTJFtwHjJTzPMqPccqzjB
|
||||
rggffSCvNBCbWBWt
|
||||
ZsSpnnRpLStrZpTDwTVwGTJHDLdH
|
||||
sZqswsrcRpCrsCsrrbtpbpDlttlFbbpGtj
|
||||
LhNgNvNNhTQMhQMWhvvhfWhllbGGPbPtlPmFlDbjHHdlmg
|
||||
ffNBNMhDvQDhvzhBhNTBnSzzrZCZnrsVCSwcnrCC
|
||||
hHGhjLjwtFGwGhhhhtwjtlhrDBQrRBHczRcMvsBcRrDDMH
|
||||
TTfbZdZbPbVCmCdmnZmCVdfrJBczMrrznvBvQBzzzcBscn
|
||||
fdbPZTVVfSdmbfdvjjSGljhhtNGGhL
|
||||
fMrGQbPrbnfljjzVLQzNCzVv
|
||||
WcDqlSpctSJNzSFJLCzN
|
||||
hBBWcHtWgWDmZlwwrsPrRTRTMrmn
|
||||
ZJTVdgpzPpLVVwZgPzTPLwgWdhcWhSQCbcSbBtSWdSWchb
|
||||
qnDGnNjqDqNlqsCSWhMtlMltWSQB
|
||||
NnNrFQGjDRgLrgrpPr
|
||||
nCrhsmVrlrzsTvsnVvmTTlpvPJPWWMPJWWPCJMPNPgPJMjJj
|
||||
ctDqBLHLRLBSBqFRDBFqFFNGgjjrGGMrWftWJPGgwfGN
|
||||
HFcqZqqdcFQRQBdrlnplhspQlTmmvlph
|
||||
mllQMvMTMMdNNdTzTGmLgWjBgGtBqWHhGWjHtB
|
||||
PPsbbZPCVfJFJRJZsBHjjHhHcjqSSWBt
|
||||
wCVJFVRJDDpCPqZlTlwQnrvzmMdmml
|
||||
JfCJtCwfsffBJmFmgFmFhhdwgV
|
||||
lzHzsSHvSRlDRjlHTgqVVmmVPZqqmggmqS
|
||||
GzNNRTWvbWGvGQtfLnbfMbJfsC
|
||||
FnPrwqrFqsPrrsrwqwnbZFPwBQMhhdBHQZhTVBMdDHVhQQVh
|
||||
zlLWlLvLgtgbMdhfVDdzfd
|
||||
NWRNjLmWblGFsssNnSwPsw
|
||||
gnmCjzwnmCPTPhBwPjzBgqPjllJJSWlhfhQDSrpJRhDSlfJl
|
||||
rLHNHrLHVNbVHMMctZFHsbcsDSDWpSDSGfSRsRWSRllfGSSG
|
||||
NNtdMVrLNdZNvLvLZrzCndqBgwwPmwgjggBn
|
||||
tGSBRwwStBftfBHRScHwfcrCgQgDnjQhQDqgBqgCCDnnqg
|
||||
LNlbZmlPVNzWlLZVFPQqgDTQTmjqCQDQqmsQ
|
||||
bpZNZLNNZlLNLZNNZbLlbLZbwrwSHGJSwrGwRtRpcjjtMttw
|
||||
JvGNPWhLPLBffwhGCrbgnFDbgcZwbVnb
|
||||
TqzSTlQzdHQQpTTjSddHTSnbqnZDcrrFnFVFVbVVcbhc
|
||||
mlpdjhhTHWBmWWBJvG
|
||||
ScrppccsbMRRvltvrvrj
|
||||
HRTVTnDwDLJJJZwwVQTmNlvqBNtvWBBBQvhNfqlB
|
||||
TLJdLLCJZHJCVHHTwRdcsGpSbgsczcdcgS
|
||||
tffHzJctHsSHHHGTtzvttZFlZZhVjglVmgDhDdjgjS
|
||||
qCBMCqbpqfQPMBPpPljQVDDZdddZdgFlDV
|
||||
fWwLfbbWNzGGrzvWHJ
|
||||
VnNFqrrJdfQhCDFPhttD
|
||||
pGpTTzHmRTNTTLRRtbBBbzhPtbtbPPBt
|
||||
HLpHpmSRHTpllcLTSgVvNrJVfJvqMnZN
|
||||
tHzgwJCgzZlLFLnWJTnc
|
||||
NnNnmsMnBDFSFWdqssFd
|
||||
mDMBNmRRjjMNnvrPnjjRQQvfRgwpgHHpppHhZbzfCpbHtH
|
||||
TTwBnnZwBnNQZZWLWTTFNFbsCGrGFCNvDDDGFj
|
||||
lzPRfVVRMclPRMRcbFDjfCCGvvsdGCDd
|
||||
hSmmlMlVztlhRlVbqQpLnWqSqLZZwZQT
|
||||
zzVTcqmVqzdmhZJbFpQZQQtLLWLLbp
|
||||
TGwvGgTnGTRHLNtMftWHNbWf
|
||||
vljTGwvvlCljsgSnCBslDPPJrPdVzrSmhdqhVDPP
|
||||
LzCGCGLBGNlLmFFmmSSBBqSc
|
||||
ZJfbdfbWtbgVlblJtjcFcqTmFqqjtFHtjj
|
||||
QgZhZgQVdlfddlWPhfvMCGRGPDMMRvDNGvND
|
||||
nLdpLJSSnLMwjCDwnQhw
|
||||
NZGNgmsgPtPTgWqqCGwRbrDCQbCwhMjr
|
||||
gNqPTqTPttPZqcWfHLlBvccFvhpvJc
|
||||
GNdGhMMvRBjmMVjM
|
||||
trcZJJFmCgfZtcrQCfCZSpqSRjBQpQRQBbBqsSqR
|
||||
JcTmwtTtcrmThLGDhNTThvNW
|
||||
ZqhmtzzfZRsSfRmSTThMpLNgpgJQThMG
|
||||
jdnvdHWFvvjFdCWFrvVVnvFDQrJJMpgMJGNLJNJTPPgQGJGR
|
||||
vnHjDVHBWjdncDRbRzzzmmBsSSzt
|
||||
VZNZSCPTJPpvNTNsCrbnVrLccbLnnRVfWb
|
||||
MlqQBlBztFlhQJdFhccbhnRWWfnggfGc
|
||||
lzJqllwQtmzdHZpvwjPPNspj
|
||||
wTnCMnwQCQvTTJdfqhdtrrSmhttmmm
|
||||
LZlZglZBvjgbHHSrHpbr
|
||||
GWvPjPNGljBzMzJVMwNJMw
|
||||
CSlChlvPPGvdddqPqSJhPdbNbcMTMTbDbcRNDFcFLMLJ
|
||||
HWjgngmBZGQgRRNbFRcHbbzT
|
||||
BmnpnQBBssBsQBnPptSStllGhdCGrS
|
||||
nhQCnCvjchBBjMNrwbRwZvvSvSWW
|
||||
qgHlfqblVbPfVqlbGgPGfdfLSdNssWWLZsNsLZsdNdLSZZ
|
||||
gbGHzzbzHtPfcJhczmMnQBJn
|
||||
TTGJJPPZJGRzDwtQjTjzDC
|
||||
VbnrmNVWVWbffbVMsrbrnvFRjzCzQCjvQDDStDFS
|
||||
MhrRfMmfMmsHgsqPLLGdBqJJGHqd
|
||||
FMCMbmSQTHdCBmpFHprdHcDNqqfqJdJsDcclDDZlNf
|
||||
wzwRjwwtRhnzjRBWRnvtnWtnNsfsVDlDlsqVNNNqcqVlDvqf
|
||||
PtnGWjtwLBwtjCFPFpMpMbSrQm
|
||||
PWzrtrtzBBfjjWGbfNWvLJLgVSjRLVlSlllLpS
|
||||
HhZmHGGhGZRpQlpLpL
|
||||
dTdnHCnhmhcHcntrPPGfzfrcNtPz
|
||||
PfmWWWPwWdPdWPTVCdpjRnzhjDbrFnGbnQGQrrDR
|
||||
LSBnZLnJBQDLRGcQGc
|
||||
NHNqqBqvMMBsJgNvgsstBHNsdwwfTtwdpfTTmVmnWmtmWVlp
|
||||
zjzwTHCzDzbDzNTDjzDCCHRZmmSGmfgPmZGtHtgLmf
|
||||
hsqJMcQltLtPhLgL
|
||||
QWWWcMsWFJssrnsWrdlcPBwNTdzwTvvBvjwpTbBzpT
|
||||
LRvWZdLzzZWSqdpBzLdzLgRmbHPVHtFHMFFMCtHCfHcbVcqb
|
||||
sGGjNDnGTnlSSwsrTwcFVMHwCPPPcVfVHwPM
|
||||
GDQsDlJlQhSDTrpvhhWBLWvdRvWh
|
||||
sWhhdhdhbHSVBbFLZLnnCmCmtTTCCV
|
||||
RcQvjNrcrwGNcGNRJJmTpppgCCgppNgTtFmp
|
||||
GRRRGRGclfjwRsbfHFhWBDhdFs
|
||||
jfRTfgHqgDZHClcPcrGhnbcqrr
|
||||
FztdMLGBzpFJpcnzzclblcnbbl
|
||||
pdNBtdNLdvsNtdLpdGLTZDTgDjmvCZjCRCDDHg
|
||||
bdrbdZbJtZhrMrWRHHvRHRvHllqZ
|
||||
GGjCNgDVDFsCCwFNHjlrPrlSRWPcSlvl
|
||||
CNVDgDwVrQggDDQVsDwNwgTQdJtbfbLhtTdtLmnfbJMntnft
|
||||
mjznjLchnPPcLLnwCTFFvPgJJWdqJqJJdJJr
|
||||
bMlQRzbSBbRBMlMfMBBZFrqggvVvfqdDVDVDWWFd
|
||||
ZSSsRGQtSpBBpZMSbSpZsbtsjhCHTHcLCcjzjCwTTHhmNHtT
|
||||
ThCHLCfVfDTtDnDppTqclFfSclNrwNPwNfFr
|
||||
JmsQjJPJMWRRMddZGZWsdsMZrmcqvNSFSwrScrvwSwcccFFw
|
||||
ZWdJQGGzPJsMRZBGtHLgCHTTVTLBDtgn
|
||||
JVGJfttHgTLVTsnHgVHfwVBDjQDNQSjQwjbNbQjBbddS
|
||||
rPvZcZpcvtzcZddmNQjWQSjDpp
|
||||
rrRZPzRMztFFFqMZFtRVgnsLnVHfVHqJnghHJL
|
||||
grrZZbJSggQDLgrvSSDBVsGdjHjnGnBGVsLGHj
|
||||
pCtWtPtffPRcWdBsGsGRBRvhBj
|
||||
zmvNNclfZJJFZQbN
|
||||
DDqCgPPDgtDSPPDbgCqcmBMBTQLQZBWwQZbsMWZZMw
|
||||
RNlNvpvNvndNjMZtBpwMTWLBZt
|
||||
VlNJvRzdlGFRFGRRRjFVJRRggtPPHgHzgStqCcHHmHqcrc
|
||||
RfmdFgbtFLHlsjRPsL
|
||||
LqrhvCTvNNhWBvBTrThrDWZrPjMQPQMcjzsPcQHTlVHQjcMM
|
||||
BhhrJWJLvCbfJbwgtgJn
|
||||
FWpRfFRjtjFpVvbTTZFPhJhJLdCLdWBhPmHmCW
|
||||
McMzNlGrgGGsHcqmdLqbhJmd
|
||||
lNMwsnMzzsSSGtVVSfvZTtSppb
|
||||
JrJQDJDVvGwGVwvcGCRRcCBBqsWBRZqWZZ
|
||||
bNdmhvMpjmHbNbpNvmbBqlRWlCtCqlRZqRtW
|
||||
HmTjNdmMfTTVvLSzvz
|
||||
WMQWmfGfQfVnMGWGmGtGWHzZtdLzpZhwrtZcwZzdps
|
||||
jBgljNPbNjPFRbggNlNBCcHsrLLLHlrLslhlzdhdHppp
|
||||
BBPBJbFCTGJcVQMGMv
|
||||
fdmfmmjbPmjlmfhfGglTNLCNvPNSpPvpvSLCPCpS
|
||||
MtJwMrwrZJVHMgqJHtwVJzVVLCvpNLvDrLvQSQSNcCNpFNLS
|
||||
wWMVWZzqqMRHztwJZzRqVtjGlBdhbGGbThhTlnTBTWgb
|
||||
ShhrjPrvhlljnHrggPvvSqRMBZZqBTZmMmTmTMdD
|
||||
ctLzbcpWCJbNWRQqBBdZFMBdfZdJBm
|
||||
GQWpzLcVpVNpRggHrhhgvnGPwj
|
||||
PdzSrmmqSgWWddNQds
|
||||
TZbwCTLZbHLWptQHhpgNsc
|
||||
MZjBLjMLDTDqrrGflsjjrf
|
||||
DBHTnlGGBPjPmwRWhn
|
||||
hgLgZccSrcMgLMSpCLJjNWmPWjmVWdwJjd
|
||||
MfQMScQrMSprrTGHBhqTvqlGQT
|
||||
CDvLRCCzQDWzcGQGvRcpVFVsgTsFrgllrTpF
|
||||
mjbqtHqHbspspnMv
|
||||
ZvvqdqqHvLhDhJWzJd
|
||||
ThHnbRTVbQHSWvBVVBCPBW
|
||||
FFJgfqfqNwNrvDCBNppP
|
||||
jzsFfqwqssLzJjffJcssHQHQdnMdhTGHLbddbCnn
|
||||
gwMHHhbSwnqHrgMqMbnBcldhzBLQBQhBLtLttQ
|
||||
dCRmpfvpCzcQllflQz
|
||||
TjPsCJmvZPNPsvZpPTTRCpprjdbrHngqDwqMrDnMbMbHgM
|
||||
CgNQpgTCgNltHTNQlHpRnRnzBfJnPnmpcpfq
|
||||
LGrrvGSMGvrsWPBmnJPmPfmrqr
|
||||
VGsSvdJvbSHVtlttNVHT
|
||||
LnZDtzpzNpPsCbfBbDCDBC
|
||||
gSGRSSghqhhSvSRvvhvVqFJdsfBsCHJbVfddCJ
|
||||
vglRRjQSmnQQCNrL
|
||||
HwhVddVVwRcGHGjlfS
|
||||
MbBvDBGvWqpNWvMbzDMNZZlLcjlSclflcjqgfCRg
|
||||
bvDWDWQbspPPWWQMnGdnFnJtJFGJhhPJ
|
||||
nDJDdQdPDlDJnnbRQDlTqVfFwfVtjJjjFfqqFqgN
|
||||
hScrSmSCTZvZCSmZLFwfffqgjfhNGwjhfw
|
||||
zCzsCCTcMBmSLmsMWHdPWRQPQPddDQ
|
||||
lzGflPZLSqSlccpqjpdNCwjdsjCnCsJp
|
||||
VghPQDVMFQNdJjRNBw
|
||||
tVrhDVmHTlPlGrzL
|
||||
gfSJJlzvGgRPpggR
|
||||
VLDDHhHtlZnnZqbGmtqPmmmmWN
|
||||
VVDBnddDBFFzlscC
|
||||
cmmzRzcRjFrGncTHqc
|
||||
ghJfwJJvqhbrdndWgddWBH
|
||||
fQbSpJwSthbhtvpCwqQbsDPMNLlpRmplzPlRMPzM
|
||||
bBVQDgBpTzbhpgQVhTmBVBzgrvcnrncsnZrwzHJZfnHcZfrP
|
||||
tdWlFLMHGFGRGMRLNFHlfwJcrPwcsnfwcvZPfr
|
||||
RLWGjHLjSjtjmBQVgpQhhg
|
||||
ttRRJBrCfpprmFqSJVTSwNJNTWlVTn
|
||||
nLsMghDbQdnhwWNLjcwNSlVH
|
||||
ZZDgnDQvDdndPCmfrRqzvFqpmp
|
||||
PPzCrcGGlnhPcsdfNZZdpLLNZsfd
|
||||
RjjWHjVWDvjWqVMHjHJjVlHdwwJbLfNZdfdgfpppgpfpZw
|
||||
lBVvqjQqBDBlVmCFGChhnSmTTrmr
|
||||
BZnGZFvGvBGGrwLBZlzNgmzMhMdfmwgmdmmt
|
||||
cpDHtVjDWjCtDTCcDNhhzNJszgzMTJhmgg
|
||||
VWWcRWDpPDPPtHtScqFrLlBFFFSFBqZLSF
|
||||
qBFcCGFcHHGBldzBLtdzSrdR
|
||||
fpmfpswfQNQmfPHfPPgJNwRtngTtSTRzdTrLRnSnldLd
|
||||
fsHNpNPwQZwhVHMFGqvvMcqWFGVF
|
||||
FwFJlqDDwwgFHQdmFmSQ
|
||||
pPtzcrLHZrQfdsBsdLdf
|
||||
bHrrHjbrjbrJvDvbqMVNqJ
|
||||
WVVpPHPfWnHmpccpnpvQcrgNNMSCTMjMgjjMMN
|
||||
RsZbhRFTDDJtZFJhTLRRLMrMrCdSNCdSMjrNhjNGSQ
|
||||
LLqtqqzwqmmflPTq
|
||||
mmLhdZSdqhqnqMZShLQrMWcrcWQwTgrWVVWc
|
||||
CCvjjsfJRCCJbDbFsbGJvzgWWGlWrWlwTQrwQGGcHlBg
|
||||
NRDbRCNsNjQPSSLZNdLn
|
||||
cmVLcQZPSHBGlSddBf
|
||||
DFNzDNszlbBlgHNN
|
||||
tWRzFjsWWtrtlDztzwjDjThLPhRMpppLMhmMhnmncRcn
|
||||
LFFcgdNLpLQggZQMFMcNJggRHCHsTtRtHTzCTZHRsfSRfs
|
||||
qnhlhmGrrhhnqdmGhdhWbnSRzSfsBRSTSRtBflRffzfz
|
||||
PnbmrmGjWMVNvdPFLp
|
||||
swcWsMMmVwWwFtWlbnnZnFBhbNfrhN
|
||||
dQLZHjpDQCfBBBBTGTTC
|
||||
DJvDpDSzSDQZMWsWwPqVtwcS
|
||||
NVTMjjGGNBqhNttdTTjtcqjCfDlhZhSWCFFJmSmZmWJhmZ
|
||||
rznsHPnRLzwspZDWfGZJSLZZDC
|
||||
QzPRRvRQszQsGQcVNqTBBdVj
|
||||
rHGBglBNLpbqCgFC
|
||||
PbmbRnmMSbRPDWRnDVSMPMWmvvcvqqppTLZZFpvCpczLcCVv
|
||||
dsdMSPtMdPnSffQwGGsBBbQw
|
||||
nqjTlGPGnqWsMPPwGdGjQvQvJCCQBvmvCvQJtmCw
|
||||
DDhVbDrcVVFZLzHrZBRNCWStmQWztJvtCm
|
||||
VHDLhFFDpcHZcHGWfsGlspTTMqps
|
||||
FTPZwBzHHFLTTSwHLJTwVQqnDrzgRRVgQpDVRprn
|
||||
jJMjsWlvQqVrqgWW
|
||||
CjNsjjvlmslbcJmmbtCtCThdwhHLhhhLPdBCSPFh
|
||||
jfgllWfLrfmlTjsCjcjDNNDnNcHJnd
|
||||
MMBRSRZGppGFpBbbBGvVnFHhcCJqNcNcHCFNgnnn
|
||||
pMZZgBRVZVGRtRSMbMbvRQmTswWfzLzLzWLrPQmfwLlW
|
||||
tzpdHLNpfpPnlNFHnpssbgShtqcgTTggrsqg
|
||||
JZwWGCWMCcbsSHgWjq
|
||||
QCmDZCJwmvZvCVCVRQGCDMFBNlfHmfLLzPPfdpfBLlPB
|
||||
PCvRTdPPBVBTGgLGrGqMrMnv
|
||||
twQwStrsQwstjSHmmpqZpwqNGnGnNnZgLN
|
||||
mJScfjbttQjQtjcmfbbQJHFTBfdfRhhrPhhTfPVVhPPB
|
||||
DMPJmLLjhJwNBCNBww
|
||||
TpccnsZsbTHpsTHVszbpbGHSNwBtWlfrtCtCfrtlBlFZlf
|
||||
HsHvccvzbqsGzqnnHvLQPghQNNDDvLLjdjLR
|
||||
zmgVMrrjjMGbbzzdqqrgVbRTHqTTThpNHphNTvvvTNnv
|
||||
QLSmZmSJTvTnZTvn
|
||||
SfDtDDmQCFDwWmSrjPPGfjMjjGfMgV
|
||||
hdNHNHjnGHMTcpWlhBchRBJR
|
||||
fPztCTPtttLwLzVbwqSVtCBBDpWvlcRRlBpbDBQWcDWJ
|
||||
ftrCVzfTCFFzTFPrPjNZFHnNsMdZgjHdss
|
||||
TVcTbdqLqzHHRNHM
|
||||
PppQTWffPfCPQSsCprzRwRJDzMDzNwRBRPHN
|
||||
pjCTZjTjmTtsZhGcGdLvdlgv
|
||||
VJRhVfJRBgbdrrrvJpJJ
|
||||
cCSSHSHnZPwDFNHCDCQdbQQdvqnMsrpqQnvq
|
||||
NFFCwSrDzCNrwhtgzhWtBhgzWB
|
||||
RRBRczzcvmfzVRzVPvPTlCWnnlTGqGMgTTnG
|
||||
tNLdSdNSMFhsFttddtjlwGqllqQglqTWqwnThT
|
||||
rLSsLrNdZbbHjLdSFFMjLLtSfVRJzVJJVZcRfvZVRfDpVvRz
|
||||
DBsdssbdbDfPnnqzzJbqStqzjjJS
|
||||
RcGMGwwmrJjFFHPG
|
||||
mCgwMLPgCPmmwWDBDZvWvBCWfZ
|
||||
cJCGJJMZcMGWMhWCJTfFSfDmmgFmtshggffr
|
||||
vBVQBDbNstQmFsfm
|
||||
RVwHNblzwHvNdvBwNjVHGZJZLJTMLMJDZLGRMDGG
|
||||
LNCssCldDbrnNtVWNQ
|
||||
mmcpRBMBRBTZzgMMhtFFvrWQrQmWFtvn
|
||||
MZTgzMZSzTfSMDHwCfPlLLDnwL
|
||||
HlPcjMSHsMSPbgLhFPFNzP
|
||||
ZfRhtVdGBNLFzLqf
|
||||
DRtGGtRGJJTJDZDGdCJrVJmlWvHWcvjMsMWmhQsmCMjW
|
||||
swpQcsBvvHFpBHHcCHJvJddvbbWPdzhzzqqWdhPnhP
|
||||
gDDGTgjNWZTMTNjjggRLggldSPqSqGznnhnbdfnbqfhh
|
||||
WDMDtDNDctVFJstJ
|
||||
rFDbGjrGbpBBbrCbrwpvvZQZZhgTLVVVVLgThCTggg
|
||||
NlfHpttqzltMzRSMSdWRNSfSTTmqgcLgQVcQTcmgQgmZVPVZ
|
||||
HWSWpMHNpNWlpNMsMzWGGwwBvvwBnwBvsnnvnB
|
||||
mZVVHmmRZlvdjvNpHh
|
||||
DFBnFDtnFbBMrQbBMvFLvgtjjNpcLpJdNzJJdhWNpJNWcN
|
||||
QTsbrQggBsvsgVTwRVGZCfGZfR
|
||||
RGNGlGTWJnJlMcRMGqvSmnDtvDDvtLSLvr
|
||||
HfsFhPPdVshfbggDVmzcvSwvStVzDq
|
||||
BPPfCgCFfcBbPbHbBHZPFsbBpMGlClRNJRlQTjQWjWpTTlGT
|
||||
HQNqQbbRQHbZPZQPqbZTvWFWmCjvFRvRTSrRrr
|
||||
lBpBpzLLdBwsLwLLWNggzCFTCmFgWmrF
|
||||
VwsswGVBfJfccLBcsJGNdpJHZZqnhtqqnhPHDZHVtPQMZn
|
||||
LMHnHnPMnFdJFNFJjZvrJF
|
||||
wlTlslptlwtzcvTqvTsVSWWrbJfmJZNZJjcNWfNJmf
|
||||
qDlqVthTztSSpSlqtpTTzLvRRnnCvRCPLBQGDBdDGD
|
||||
HlmlJgRBBpJLpPBHnlLJsrgJDMttvSdddcMSStWjjWtcSzjs
|
||||
qfTbNPTVGhGFCVGTwZfNZNNVWvjSczcjStMMcdSczzczvbcW
|
||||
GZVqffQTwNQTmPRlggHLprHQ
|
||||
BjsWschcTjjWclQTSnZFrjtFtbzZfqntzF
|
||||
qggNGMHgvHMRZMtznbrftMCn
|
||||
qvHdqpwgJTsVccwscT
|
||||
FJwNPHJmPHTJHglTFwgmwqtShBqDmDBzzBzWhCDWqQ
|
||||
fpsjNsMVLVjDCCSzBtjztt
|
||||
sLrdfbsMcbMRZZZbbsfrsrNgGNglRwllRnJnwFvnFHnG
|
||||
lWWVTJlJCTTzDdWzqdtFFt
|
||||
PvPvrhbjhgSjvJQSnQRbjZDZFFHMtGGqFtRMGZFtGH
|
||||
rhPrSgfvJPfmwsTpLcsV
|
26
src/main.rs
26
src/main.rs
@ -1,23 +1,19 @@
|
||||
mod utils;
|
||||
mod day01;
|
||||
mod day02;
|
||||
mod day03;
|
||||
|
||||
const CONTENT01: &'static str = include_str!("input/day01/input01");
|
||||
const CONTENT02: &'static str = include_str!("input/day02/input01");
|
||||
const CONTENT03: &'static str = include_str!("input/day03/input01");
|
||||
|
||||
fn main() {
|
||||
let path01 = "input/day01/question01";
|
||||
let content01: String = match utils::load_file_as_string(path01) {
|
||||
Ok(content) => content,
|
||||
Err(error) => panic!("Problem opening the file: {:?}", error),
|
||||
};
|
||||
day01::execute_task01(&CONTENT01);
|
||||
day01::execute_task02(&CONTENT01);
|
||||
|
||||
let path02 = "input/day02/question01";
|
||||
let content02: String = match utils::load_file_as_string(path02) {
|
||||
Ok(content) => content,
|
||||
Err(error) => panic!("Problem opening the file: {:?}", error),
|
||||
};
|
||||
day02::execute_task01(&CONTENT02);
|
||||
day02::execute_task02(&CONTENT02);
|
||||
|
||||
day01::execute_task01(&content01);
|
||||
day01::execute_task02(&content01);
|
||||
|
||||
day02::execute_task01(&content02);
|
||||
day02::execute_task02(&content02);
|
||||
day03::execute_task01(&CONTENT03);
|
||||
day03::execute_task02(&CONTENT03)
|
||||
}
|
||||
|
@ -1,10 +1,3 @@
|
||||
use std::fs;
|
||||
use std::error::Error;
|
||||
|
||||
pub fn load_file_as_string(path: &str) -> Result<String, Box<dyn Error>> {
|
||||
let content = fs::read_to_string(path)?;
|
||||
Ok(content)
|
||||
}
|
||||
|
||||
pub fn convert_to_string_slice(content: &str) -> Vec<&str> {
|
||||
content.lines().collect()
|
||||
|
Loading…
Reference in New Issue
Block a user