2022: Day 1 - 4
This commit is contained in:
parent
bb8f6e1e8a
commit
78279014e0
|
@ -0,0 +1,13 @@
|
|||
max_cal = 0
|
||||
|
||||
with open('day1_input.txt', 'r') as f:
|
||||
sum = 0
|
||||
for line in f.readlines():
|
||||
if line.strip():
|
||||
sum += int(line)
|
||||
else:
|
||||
if sum > max_cal:
|
||||
max_cal = sum
|
||||
sum = 0
|
||||
|
||||
print(max_cal)
|
|
@ -0,0 +1,14 @@
|
|||
calories = list()
|
||||
|
||||
with open('day1_input.txt', 'r') as f:
|
||||
_sum = 0
|
||||
for line in f.readlines():
|
||||
if line.strip():
|
||||
_sum += int(line)
|
||||
else:
|
||||
calories.append(_sum)
|
||||
_sum = 0
|
||||
|
||||
calories.sort(reverse=True)
|
||||
print(calories[0:3])
|
||||
print(sum(calories[0:3]))
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,34 @@
|
|||
# A = Rock = 1 = X
|
||||
# B = Paper = 2 = Y
|
||||
# C = Scissors = 3 = Z
|
||||
|
||||
score_map = {
|
||||
'A X': 3 + 1,
|
||||
'A Y': 6 + 2,
|
||||
'A Z': 0 + 3,
|
||||
'B X': 0 + 1,
|
||||
'B Y': 3 + 2,
|
||||
'B Z': 6 + 3,
|
||||
'C X': 6 + 1,
|
||||
'C Y': 0 + 2,
|
||||
'C Z': 3 + 3
|
||||
}
|
||||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day2_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line.strip())
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
total = 0
|
||||
for line in input:
|
||||
total += score_map[line]
|
||||
print(total)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
|
@ -0,0 +1,38 @@
|
|||
# A = Rock = 1
|
||||
# B = Paper = 2
|
||||
# C = Scissors = 3
|
||||
|
||||
# X = lose = 0
|
||||
# Y = draw = 3
|
||||
# Z = win = 6
|
||||
|
||||
score_map = {
|
||||
'A X': 3 + 0,
|
||||
'A Y': 1 + 3,
|
||||
'A Z': 2 + 6,
|
||||
'B X': 1 + 0,
|
||||
'B Y': 2 + 3,
|
||||
'B Z': 3 + 6,
|
||||
'C X': 2 + 0,
|
||||
'C Y': 3 + 3,
|
||||
'C Z': 1 + 6
|
||||
}
|
||||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day2_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line.strip())
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
total = 0
|
||||
for line in input:
|
||||
total += score_map[line]
|
||||
print(total)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
|||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day3_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line.strip())
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
total = 0
|
||||
|
||||
for line in input:
|
||||
l = int(len(line) / 2)
|
||||
left, right = set(line[:l]), set(line[l:])
|
||||
isect = left.intersection(right)
|
||||
for i in isect:
|
||||
common = i
|
||||
if common.islower():
|
||||
total += ord(common) - 96
|
||||
else:
|
||||
total += ord(common) - 38
|
||||
|
||||
print(total)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day3_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line.strip())
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
total = 0
|
||||
|
||||
group = []
|
||||
for line in input:
|
||||
if len(group) < 3:
|
||||
group.append(set(line))
|
||||
if len(group) == 3:
|
||||
isect = group[0].intersection(group[1], group[2])
|
||||
if len(isect) > 1:
|
||||
print(isect)
|
||||
|
||||
for i in isect:
|
||||
common = i
|
||||
if common.islower():
|
||||
total += ord(common) - 96
|
||||
else:
|
||||
total += ord(common) - 38
|
||||
group = []
|
||||
|
||||
print(total)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
|
@ -0,0 +1,300 @@
|
|||
gvNbShZZgQfWdQhdPQmggLTFLwmwjFqjVVgM
|
||||
CsJnHllcsnnnnJrGRnRwPPLVmFLHLBjFFVHmPT
|
||||
JlnCtctJnJDcJlDCRpPrSSQWfphzWZfbZSvfNfbS
|
||||
WjvRSdSQjvpjWzNlnZlNZqCCMzZZ
|
||||
nJtJsbctPBPwLNcDZNNGLClC
|
||||
tsFJHBgJwgJbnvSHHWVWHhVhpQ
|
||||
zRzPhCCSHVZzfGHZ
|
||||
qBsWBpqBwBcvqqWgdfZrprdggPHHVZ
|
||||
WWmvwvBbnWmnwvWcbmWWnqNCRSDRRSSjjSDbPJbRjClLhC
|
||||
rQrznfHHhrHzllzlzTGcJgtJ
|
||||
jhhjjSZVPWVZvSFtTttLTglgFtvm
|
||||
dqSCqVWdbDSSVqbVVSqhNdrnpnCnfsnnwfnsRpMpBMrf
|
||||
rTnvrSSHvHtnDQVDtfmW
|
||||
ZjCglhcCJschpZbZgbtGmRtbGmwtQtbmtN
|
||||
FFZCghFJhlslFpjcdFTPLHHmrqTMTdzBLHLH
|
||||
WzDfrDwwDCCDMnfDHHJjTHTtNdngdHtQ
|
||||
FmScGPPPPmpspchbGHtRsjdJJJWJWNttgH
|
||||
bvhFlVhPchPvqWLwqLWqvq
|
||||
RcchVlCCvmhDRjNJJJjbjllZlJ
|
||||
wPwFGFMPfpdtqbpwFFfGPQZTWTZjtzQWTBBQJzZjZZ
|
||||
fbwPqqMPwdgvmDVDhmRCgR
|
||||
SSQggtQVQQgQGmGVthVnWDGjCBLLzdDNCCjDGWCW
|
||||
RcHcHbFqbPMZRFTvHFFFlcZZBNBtNjjLLjDdjLjDqWCpNLpj
|
||||
sPPclZcsZtMPfVsnnwwVJhmQ
|
||||
jlrwpVPjMwfzZfhfwddH
|
||||
DbQBGgBJPPBBHfPZ
|
||||
ggGSQTnTgQGbSRQRPrNlsjVjMrpmMLnrrW
|
||||
MzNNbMSrZNSSvGWWznwGQlTG
|
||||
ZCFCJHqJFjqTTqngPwPG
|
||||
LCJLJCCFtfjsJCMbZSMSbbcDdBfd
|
||||
LCdjljfJJBfLDCCdJqGqsGGtmBsWtbGmSS
|
||||
gpgchRcPgRRQNZcpNhgNPzzmGrmrGwtSSswqrSGbbTzt
|
||||
QgQvNppRPQcggZNccchvNZgCjlnsDLDflDdfjLfMDVsMLv
|
||||
jfSfTWfwTJffQQNwTCHnGGGgHbgqGFvF
|
||||
LmspctdsLDlBLPmFFgqbqFFbqlnSRS
|
||||
PSZZsctsDDtdBmzBLBSmpJjMzWwjVfwJVMrNfwrfzf
|
||||
zFZqbRNRHNHhqHFqzNnzzqDQVFMggMgDpmJMTgpVTQFJ
|
||||
SwLVsSWBfStDGMfDTDGGGT
|
||||
vlCBVsSvCRrHRjCqrn
|
||||
ndGVddlVdrcGlGcljdVGjCgfffPCCLfCMvqWvPnqgn
|
||||
FNtRZBDDSNSNStDhFRNQtLgCMTCBqvLMMTfJqBLPLP
|
||||
bwQwZhSDFhZbFSNccwzwHmHHjHMwsd
|
||||
BrSDgqrgWzWDwJBzMDWBLjpmVLFfFPLVJjVVPLFV
|
||||
cNnRlvNRvQTcnZwmfQGPmfVFPP
|
||||
dsCNllvTdnntTlTsHcdCRtNRBDWBDWDrWBhDBqMBDqbzWwCr
|
||||
stLcchcTwRcsVTtftVVthchqmmCCFvWmmgSgQFCwGvWSFCrr
|
||||
PljDbZbzjllHdQNWHMFGrMMHMFrmmM
|
||||
njjjzbPdqRcRQQns
|
||||
BTBLwzmqWNbpzqNzLppLBnhZJcJSHThhnnJZHHSQnr
|
||||
RfQgDjgsjVfRFDdvddtvhhhJCnrSnMZCcMSCSJ
|
||||
QRtjtRQQlzlqqzzzBW
|
||||
FnzllplJMntnzptLFzsjTVSQcSjSjQFFmdQQ
|
||||
wgwrBrwGHPGBqHrDcpmjddSQTmTGVmmG
|
||||
DBhhNBrCrMvNvzptpN
|
||||
LgSbLLRJQSzLCgJRJhWCCzRBdZdcMfcHsMdFFjfPjsCHBc
|
||||
nrVTnmrrrlnGGmrlVwVZPFHmdsZHBmjMcdjfcZ
|
||||
wrnTlNpvVVrqFrtnwGqwwrTpSgSQQLbQRzQSQRJbQpDbQz
|
||||
pgvmcpVcpwJppwgwvMWfHbRGRHDBJbWGfGGb
|
||||
hQqFqQNhqdCPNhTQCCFbbjmBHBbBRjGHBDBGFj
|
||||
TtdCCNlPCmssnqgvzzvvtVrgzzrc
|
||||
JltddTSgtLLvgvdldgvWPZPPSjWMjCfWNjNWPG
|
||||
FrwpbwhbmfjGRpGPNM
|
||||
cmBrBcBnmFBQqcFbscBhQfttznJgzlLLDlnglzLLlg
|
||||
mDhRsDzWZzGhhhWpZwzwGdfbFsfFTQTLcNFfFrNvvcbT
|
||||
ngMHjjgVgqHnPlnqtnClMHbfCJFbcLFFJFLbrQNbFQcQ
|
||||
SlqHqVVqPnBHSHHljlMndBdZQphRhdGpzWmWWwBh
|
||||
hVNhcfbSSNMfjjMlqRCqpdzpRJdnhl
|
||||
sBHPPwQwttBBssLCHzDBlDDmRmpJdqJJJd
|
||||
sHHwtsHTWwtZPHtZbbVSgMbGCNjNvN
|
||||
SgMtSMVChFBHBFdCwhdqPcPsbRVQqsblDbRmlc
|
||||
jlrLWfvWvzWWzmcQcqcNbmNDjR
|
||||
JpLznrnfGrrfnWWzTpfvzvdHHCgSBwdlTMhCTMFhBBwg
|
||||
fptnFPLsttddDdRhQShQzC
|
||||
BqGHGlqmmGmlJmNmqlbbCzSCQHDzSjHhfSShjfVh
|
||||
fbrrMqGGBlNMGNqrqglmrLZwFcwgFwsPcscctpWLgn
|
||||
TCMMTtWBqCMMMWWMSWhNFhlNBNlNHwNDsvhw
|
||||
frfdrbZJrVLdZLbnJcrmvhlhHshlgsZsHwwghZ
|
||||
fLRVvcvRVpfbcfVVJTqpWCCSqCCTTtjjPj
|
||||
vRCGzdTtvdBCTzCdmVsQjnVttngthgnQHs
|
||||
rLNZlrwrjrFLMsggsQpsQngqMq
|
||||
NfjZWcbffDrLZfNLbDczvmcTvvGCmCBBmSdP
|
||||
DSqdzrHgJtSHMgvmnNGdcmCnvssN
|
||||
ZwQLlVlRVVWZFZhbJZVjRJscvBGcpssLpBcnGpBsmpBs
|
||||
TwwjjQJTjlhwMfTDgMrfgtqg
|
||||
HhvVhgddvdvqTqVqHQgjgmCPWGrcWsGWPcvlsWrWmC
|
||||
lbJBBFbMlJFRCmsRmRPtCtwm
|
||||
FMLLpDLnFpFJbDfLnZZSzhqHVdVQjgSdlQTZ
|
||||
mvBrszzsrrrGsBDvBvszDRQDhjCwWdLhJdCjjWZdqqdZdW
|
||||
gMlfFVccTGMGPMSCdcLLdqhjLJWWdZ
|
||||
VfggggPVltVSlSlHfgFtTpfRGmRrrrvQpQsrGmnvnQbzmz
|
||||
HjtMgWbHBtbtcggVcHwMwcdzpZFGzGZFpvFFZZWnnpFG
|
||||
RNNrfmSrSSzdGBzFfJFq
|
||||
mNsSrrTPPRshmsBClRClPmSccVgQVHjHwtHwTMbTVwMHgg
|
||||
pZmmLpQLDJBCPCssJTsCTc
|
||||
SwlLwWvSwNSSSMSMfWLvvVdPFzjfTscdjcCsjzCPddFc
|
||||
vbVMqGbLSVMhDQnRRQnBqH
|
||||
lNmNwlmlbhhfFNgpJLnHfTHfTdnTML
|
||||
BGvCwVGVPSDWDMMJTHZMpndH
|
||||
rVcBrPSPCwWqPwGCBCSrqlNNQFhsQhtlhhhgNQtb
|
||||
HqZCQRQgWjpmZHRHqQjttGGJQNQtwQGGGbGrJz
|
||||
SlddfFVMLncbJJMzMzzMwD
|
||||
ndSznsdVHsqgpZvH
|
||||
sNStMtNtDztrvrRGPRRRRrNzqcchgJJLqnBScBcJThJggJBT
|
||||
QCWWZbCbCVjVbFVFbVwbnhqLqhghBLwwTqJJcpgTBL
|
||||
ZlHjfHHFWFjCdbHlQFnfdnZFMzPzrrlMrtrrGRMsDPrGvGPz
|
||||
NnDHhNNldhNTdHllpptCRtftzmGBGmVRVGRH
|
||||
wgZgZJLBwqgLSWrBvZVVzmffWzRmGsGmmssm
|
||||
bgqPBBLbPbrrZBjjlpjccjDdDchFTNlc
|
||||
WRWNNRWNfLZtsmtSWrtLmWgTcMcPrpMTcVMMPPBBqjcg
|
||||
QJJDFbpnpJdlcwcgBTqlgPwc
|
||||
GJFHJGhHnpWWShpsRS
|
||||
DHDZvDQWdHJMHlJf
|
||||
RhhnGLnBtGrnLjwwJTTMTdQccllSMQ
|
||||
rmFrrBGQLQFLjbFnBhQLhrRGCPVDWzgmpsWvWWDzppWpzCvC
|
||||
bsrJrWgWJvQRqbbRDNGGZDlwNfNfwS
|
||||
ttCHThhhcBVpTBcdhdpfNGDSQLwDLfDGfQllCG
|
||||
jFjzcFhzQTTjHFvJsrPPnnFgPb
|
||||
SZggDgNLGCQzSgRsljscPvPPbHsBNc
|
||||
TtFfTpMthzhFFTpdMMJPfjPPWjBbHbjPlPPBjj
|
||||
dpdttMMTJttzMFhqFwGLgGRSrrQGSZrwRrDQ
|
||||
JsJntWmghjgJTpfgFCczlztzrDZDtDzC
|
||||
QddBBdBSPPPHBSVHVHvNdPVRClvlcclCDLCLFRFrrDLcZc
|
||||
NVwBVSNlSBNHngnngsJWhwWh
|
||||
hQVWJGWJlJQDGJHQWHpVWJVHmfPGPcjfdLdLSrcCmfjPjCPm
|
||||
wgwnRwMvNvBvFZMngNvFZCjdSSfcbPLjCbcdCbSf
|
||||
wgnRvMMvjMsTwngTgnnDVDWJDplHWhlhQWlWDT
|
||||
WGswWFGsBFwHvjnbnnJjbG
|
||||
gLDrSrPpLfmmDqqbbJZsjvmvRv
|
||||
DTldTpTsDLgSsLpfPTslVdVVdNWVzcNwtWdWhzVt
|
||||
sttWrhWZsLVtJVZrWhgbCPQQbDNVCHglnnlN
|
||||
vvRRRMqpmTjwFqmfjFjmBMwNbCwQNgHgDnbNnHQHQCDg
|
||||
THpvmBGfzWGzSzzS
|
||||
nmZwwfPmNggwgPgNmdvPPhTRHTHBJTsvSP
|
||||
WDccMzVQzGWcrllLdsGTvTsJJBLTdL
|
||||
pWtzQrzDlrCpcQztlzCCCpCVFFFwtgmfbjmbqwZjZfmFwfdw
|
||||
bmMNNMVSRWBWCSmVRdMRmMnvZZscvvszGcnZClpcGsvZ
|
||||
gfLfDDtDgjgDtWTjFQjHsvvpZqqplfvvcllcnnvG
|
||||
TFPjDtWPNPwBBBNB
|
||||
QcTCHcTwdpQgcWzWwvMPRzSGwW
|
||||
sDNjfhVmnlVffmLNfLbMPPDbqGtMSRWtDMtP
|
||||
fZjJJshhhLNnrCJScHSccTQQ
|
||||
qfhBhLLjvMqWWBWjsQGrdrGzpszpGrqd
|
||||
JTSDHFtlTDbHTcFcDbTHzmrNRdRRbNzrmRRnRpnQ
|
||||
PHcltTgJDlplgptScCfCgWMVfvfZvhMMBV
|
||||
rttDPglHZZDDDPHgZtgWBswdsTfpfdplLqfsFfFdfd
|
||||
cRVvpcmpmRSCGGCcMQmQFqNNqdVdqTbLwNbdFfFs
|
||||
zhGjRhSvcMtnrpZjHZBg
|
||||
STNrrzVdTJwsBggwFgBN
|
||||
WbtMWJJpwpDsLBfP
|
||||
cbvncCCmWtCGMcZHVVSlJVQrzvzVqQ
|
||||
MtPVBHVbBBTwbvWgRgvF
|
||||
LhZjZpnnMRwWfhSh
|
||||
LQcQCLCCCcnmnqZpcrpnrjQlsBMHddtMGGzrJHPPsHsNPPJz
|
||||
NbZtmZDmNNDBHBhDNtNGcvpmgLmmFrvprgrFGv
|
||||
djMjffMdqnVVTdMfTPnQSFScFFVSLLFrvccvcllL
|
||||
PPdPwMQwTMWDwBDZLHZN
|
||||
DqpJFdhtmdSwpqSncljHsnfjqlbzlc
|
||||
rQVZLGMWPCNrCGMwNVMcbzsVgfHHgfncfscssH
|
||||
NBCrPLwMTrrMBLQLwCFhpFBDFdFFtdvDFvpD
|
||||
QRwGBdGwqRTBMWRMMzBqQHHhngspPFFbHbzgbhZLLP
|
||||
rCNmDjvrCFpvLZsgPb
|
||||
lDrmpcfCtVDtCjlfNfQQqVdJBQWRVVRMMMJQ
|
||||
zcgjlRcJCFtlnTvppn
|
||||
BLSHDMVPVPHVHwFwMhTvgnFZMh
|
||||
DsLSDdmPVNVdGgrzCCdbjc
|
||||
tjjRbNQtvJVVsvqsvdTsGqBp
|
||||
wlFLPZPzzzrzwZPmZfZPlrmpLDCpWDWCSTCpppDDBssdWG
|
||||
rwwcFFghFmgTcNRJNnnNJtHV
|
||||
RLhbzMhccqLzdjghdFddNWPN
|
||||
DmsTZfvrfJLPPWwrdFgw
|
||||
LsmDtQDfLLGbGQbSzcpM
|
||||
qwhmmHlHmlwChcCWlpPCBzjPVdBzLsdLBVsT
|
||||
DnJDMqRDsPsjRVQR
|
||||
tSGSnNNSbrJJGfDSSfbchpvptFwmpcvlHqZlcF
|
||||
rdQdBRPrQBBnfdBbzLLgLgmbzSLCPW
|
||||
TcRTcFDTcjvswMWzzgLSzwwSLJbL
|
||||
MNTRMNGTsFMMqqqcMDTTnfpBhQhNpHZBZHBfrptQ
|
||||
ZZFwcQGwRGLTGLTl
|
||||
rJtMrqBVvhBCnlCn
|
||||
WWWMttbqqzfPWqWJVzmDQwFQlwZwjQfjgFcZ
|
||||
RhgmdBbLLmRvhGZwhZZJDwGq
|
||||
ldPpTtTPtVPpfTGzJQFGFqJsFG
|
||||
MPpCnrlCVfPtrPVtntllnbdHSbnBvvgdgHgnWvSv
|
||||
nbnfjQbQZBqBvjQdVFGHhsQhsFsFzGpD
|
||||
RSJSTTcCVTTMlSNcSTRRwTccpwDFDDzFhHhtwppssFGGpsDp
|
||||
clcTNJlLMgrcgRvBjfWVfWfBrrZn
|
||||
LHQdpQLQDRcDBQccVQpnNRhllzMtRqzRztTNnt
|
||||
mrvZPZvZvZbPSFJrSrggFvrJzbhlzttTlNtqtsMtTntntdqq
|
||||
GPfJPJwfZFrmFvrPmgHHQLQWdHQBwWWCHVVC
|
||||
TvTTLfflhZmwZLvtJmhdFhMpnWrpnbJcWMnpHzMrzbcn
|
||||
VqRRNGCBjRmqPGqDzbHMcMccWnzngHnP
|
||||
jNqNBjsDsDRCNVsmBRNQNRSSSddhZvLhddZhvhwvLTZwhSfT
|
||||
vjpJvpgpNwjDWvvJLhFLLhNRTmPTRPRF
|
||||
HHbHVrMHMmqzHlGmtGqMtdLCLQthQQPCSPTSFLLPRT
|
||||
bZZzbHszMrqzGmrHMBzbHbqJjffcDgwWjDJpnjjcscwgnw
|
||||
fBHDMNhhHMrBDBrfQqfwwvvLvfjLZZ
|
||||
lmppmGJgPPpddJVdnwsQjLttqtjZTpcsvT
|
||||
RndRmlGWJgdRnWQJQgWdQPlFFbhhbFbHbHMhhBbRDRFrrS
|
||||
tVhwlMdMWlhlZMZMlzWrtRpBNpLPpmnmCPQBLppPPPBz
|
||||
GvGTsgjcTLRQHmTQ
|
||||
gGRGbfbgbcSbbcRggvfcwlZVhVMfltddVtrlZdhW
|
||||
PwjPHwWssqrHqCqprpCPjwrrQnnDbdnQnGQHnbZbGQZbBQdD
|
||||
WvNtLhfLndnBNbJJ
|
||||
fvhvvWfTmtzTmjpsVVqsPzMjjq
|
||||
GjHMMTMfZbnqHnJNCN
|
||||
rlpQpthdlQbnlJqRzqVL
|
||||
spphwcpBvcvdvFTqPDFfwwPZTG
|
||||
mQfqmtpfBHJCHdlMDB
|
||||
cbbPPsZqjqcSvVsCrDllsrdzrzzD
|
||||
TSbVTvShqnVjPTPbggSPbNFQWGtfNLtFfWgGmGgGWR
|
||||
HJtwgJJwJrcjRRjRnwhVdrVbmGhPmNNrGhdV
|
||||
fWFvTDssTDMCBCWsvszWWMCQhZhLLNvNNbhVGGZdRZRdmhmd
|
||||
zCTBzWzDDCDCfFCRqCJHcJJctjJSgHpqHqJg
|
||||
dgnwgbcwVGbgDWnQbjdgDnBRBBNNqRLBNMLFRMRlqNsc
|
||||
fTZHmTmzJMmSSCZChZvZTHRlBNBFqtqftlqssqNqftts
|
||||
JTHJvhzCHpmPCSSTzPpPzJHgQVdQQjQdQwjgdpgdDMGgQM
|
||||
qPGmWLJWBRRdvqvvNq
|
||||
TnZHsTZsZsZZbDtbrNrdnDft
|
||||
SShhQQZCHQCSTVlllVVQCjQWNJGFWpWgFpmmVmNgLgFpGw
|
||||
TsSmttWMVstNfbMfBcpnFchFwFwZNrrwFp
|
||||
DWWCGlHWdhddwpcrjh
|
||||
gQvPqglRCHCHCPCPCJbbtSVVWtTVVJvTbs
|
||||
ddHSZQHDStZStLtsdDpbCbBPcjGGCqCMBGdNPb
|
||||
hWhvmglVznzglgzvzfznwfnfscswPjbMBMjNGBMPGMcjcPwP
|
||||
sJWsJfVflWsnhrltrZLFDDRRFTSSLT
|
||||
qqCqLNjnPPLZPjqnDjLNgnNrcGwtgddGrhprBJhhJtBGJG
|
||||
lTMDsDHmlRRbQQbVfMHFmMBJhwcTddrcpBBGdGGJcJdB
|
||||
lHFfQFssFFFMQRVWQVlssLnDSLLPvZZPqWCLWSqjvS
|
||||
pJPZRpQtpPQpGPqWbqlWTdLVLJbT
|
||||
nnnjCwgrgcCFBfnggBCsMTVbVsWVWdCTTdbb
|
||||
cfhcnwnrcggrncrwcjBDcGHmNPRRGRZZQRRdDZzmzH
|
||||
NqTrrzLpTNdLLJBBcBGGZGpFHB
|
||||
sWbgfHSfSgVgZcmGtStZwBFG
|
||||
VjQjjPjhbbfsCbbDQCgsDrRhzMdlNzHTRdRhqdNTrq
|
||||
GlqfPdvdBqPgfqDgFMsMVDppbsNJNpMs
|
||||
WnmmWCTCjZnmzRjTZRRnFBMNpbZZpFJMSFSNFSbS
|
||||
TRRrnLBmzjttRRCmTRjjwLlvdhQvdrhqqlGdPqGggPlQ
|
||||
McjMPgPgGPHJWjhPNgPqQbpQSfqffnWVnnnpnZ
|
||||
BwwDmBTLRBBLzBTBTvtVqlfpqfbQqpqZbnQFlt
|
||||
rDsDBsmvRTBRzCTZsTmCsCrLPgNcPHNhPccNHHrjMNrgdNdP
|
||||
GqmLFDrcglvQGZwwzj
|
||||
nlHbSNBhhslJfsBfvdZHdCvRzdCzppzR
|
||||
JWShMfWMMthSJBBthJsgtcTTcFqcTrmTLrrTlr
|
||||
CsBsShBWsBWhvFJWCSsJpbTZdTbdBRgHffRlHHHBgH
|
||||
tqmnwwwDmVwfzZblzTRqzQ
|
||||
DGtDjGMcntMGnnGhhjJJJsCpFRRSJJ
|
||||
GQVVcGgFGcSFvfcFfJVnQmdbTwMLwTTnbnQMws
|
||||
ZqZrDWDtNPPHRNPzGCdndLLMLwMWhwbmLddn
|
||||
DRqRHCHlCtDrqtNqDplfpvGFjVjvBSFFcj
|
||||
zfSfdGPdMVHHdcMThhpwqqrwrqJhcF
|
||||
vlDNTWDDWWnngNQZtgwLrJZqLFZLFJpFJjJJ
|
||||
NCtWmnvBmDnWQVTmTGSRmmRTPz
|
||||
LLvppVLDsppGMGCLCCwNmJMNrNHrNmNNmHFjrh
|
||||
lZZfvfgRPZQWNNmlWlFNHl
|
||||
nnRtndRbcPttvTpswLTs
|
||||
trtzWfszNPlhPlgrWglhZjSLDBvTfSDTmSvmLvfS
|
||||
QMdVVGBQMTJDvSjdHJ
|
||||
nBppGVVnQQgzgPsPzzhp
|
||||
fVQzVrQVtVzHwjtMTjcTCjFgcDCGCd
|
||||
JslDPWLbLbZlJBMgBTBPdcFTFd
|
||||
JNJmZsDLnLDWmsVqSrHqnHqQwQSq
|
||||
mLMZRMRmZLmHLLjNshrrJjRsNNsj
|
||||
PnqnBVBPcpWrWfWzDhDsHW
|
||||
qpBQgcQncqpBcVgtclHqcSMTLZZQvLLZdLdwCmLMSd
|
||||
PZgMwZMjPgBCWgZFgmBGSTtwcccztTzbnGDcNT
|
||||
vJLlvvlfdsVVslVHrrpLfRlDcSScmbSnnRGDnbDTSbSSDt
|
||||
fvVHdLfLQljmmqqMQPhQ
|
||||
DZRstNGrDWGRMlzLHLMpNSpp
|
||||
bPgCrCvgnrCPgwplbMSjfHzHfj
|
||||
CgnFnBVrFFVmdVggmPPVTTcZBGhRqGtcZqqJhGRGssWs
|
||||
WrrCGrDlWhBBZtHB
|
||||
ggdcnQpcPRSpzfvJBTfPJvtP
|
||||
gSNnSBFnSMBNjpMssDmCrrGmCLqq
|
||||
szZGZGGwNdVtpwvbzptzVBQQLFclTJQFlHJNcFBRRJ
|
||||
CTrqSfWThWDjJCcLQRRRFLlQ
|
||||
rggqfMqPWnDqnVbZvTtPZpssVw
|
||||
GJHqPPcJnhthNHnL
|
||||
rzzlVDVTQDzSSdsSlzpBspssLhmZNjhZWjjffWBLZhgBmnjt
|
||||
TSTQTsnTbDsMvCGwcFvbJR
|
||||
PPjtzdnCnSjSthPjWJgJWjgMNBsNrT
|
||||
bZHfLLhvhpbfvLhHfQbqpNJTWWNsqNTrTNrgWN
|
||||
ZFbZZFvlRvZwhQwLDSdGnmCGmnlmdznD
|
||||
RFRRhzzsRsszRlhbrhgBcbTfHgBT
|
||||
pJtNmSgwZNtSJLgSqHcbBDDTHPfrSqTc
|
||||
ZNWdpNCJtLZpQJLLpmLtZNFGjVgFnsngRGllVsjjCnvs
|
||||
sJVRJmmmwwlmzcszMzjRjJVzspCZBsZTTFpTTZvSZTFBFbtZ
|
||||
GhNDgNWnGGqDvFSCZvbtFpvg
|
||||
fWrCNNffGnhWdrPhWjwjzRlJmcjRcPzlmV
|
||||
FdncmqmgcZztLWFvFFvjWLlT
|
||||
RsMMJVpfhJVsDVMfJpvlTWTvhjQSQvCbLCSC
|
||||
jDBjRrsVfNJgzdZrZwtmZt
|
||||
THDDQLZTGQQLQDSSTBCZSZHfFrvvlVRRlPVFfVrvqnvnnH
|
||||
VbWWcgbNpjgPrRvrNfqnzv
|
||||
swggwpJWwsWscJsDSLTJTmSVZJTBDZ
|
||||
wGsznPGGBHdzHhtHDD
|
||||
WMVSWqVmrSBMpvWVMFtdClhDtqDDHhdtQt
|
||||
RgWVRcmgnPPnjJBg
|
||||
BmfPBHBFswLLjQQnLCnzzW
|
||||
SRdvvRSGrdlRSvTgRrMVCjVWCZzMnVZhWzTj
|
||||
vlSRJrRJvbGGrSSJgWvlScptFmwbmfHHBfsNFmBbfsFm
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day4_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line)
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
count = 0
|
||||
|
||||
for line in input:
|
||||
first, second = line.split(',')
|
||||
first = make_range(first)
|
||||
second = make_range(second)
|
||||
|
||||
if is_in(first, second) or is_in(second, first):
|
||||
count += 1
|
||||
|
||||
print(count)
|
||||
|
||||
def make_range( a ):
|
||||
return tuple(int(i) for i in a.split('-'))
|
||||
|
||||
def is_in( r1, r2 ):
|
||||
return r1[0] <= r2[0] and r1[1] >= r2[1]
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
## Read input file
|
||||
input = []
|
||||
with open('day4_input.txt', 'r') as f:
|
||||
for line in f.readlines():
|
||||
input.append(line)
|
||||
|
||||
|
||||
# Solve problem
|
||||
def run():
|
||||
count = 0
|
||||
|
||||
for line in input:
|
||||
first, second = line.split(',')
|
||||
first = make_range(first)
|
||||
second = make_range(second)
|
||||
|
||||
if overlaps(first, second) or overlaps(second, first):
|
||||
count += 1
|
||||
|
||||
print(count)
|
||||
|
||||
def make_range( a ):
|
||||
return tuple(int(i) for i in a.split('-'))
|
||||
|
||||
def overlaps( r1, r2 ):
|
||||
return not (r2[1] < r1[0] or r2[0] > r1[1])
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue