Advent of Code Day4

spike86

Mitglied
Hey Leute, ich hab mir gedacht ich mache mal bei diesen Chalanges hier auf https://adventofcode.com/ mit.

Tag 1 und 2 waren einfach zu erledigen, Tag 3 werde ich erstmal überspringen. Nun hänge ich aber schon 3 Stunden an Tag 4 und bekomme immer das Falsche Ergebniss (205).

Hier die Aufgabe, falls ihr den link nicht benutzen wollt:

he automatic passport scanners are slow because they're having trouble detecting which passports have all required fields. The expected fields are as follows:


  • byr (Birth Year)
  • iyr (Issue Year)
  • eyr (Expiration Year)
  • hgt (Height)
  • hcl (Hair Color)
  • ecl (Eye Color)
  • pid (Passport ID)
  • cid (Country ID)

Passport data is validated in batch files (your puzzle input). Each passport is represented as a sequence of key:value pairs separated by spaces or newlines. Passports are separated by blank lines.


Here is an example batch file containing four passports:

ecl:gry pid:860033327 eyr:2020 hcl:#fffffd
byr:1937 iyr:2017 cid:147 hgt:183cm

iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884
hcl:#cfa07d byr:1929

hcl:#ae17e1 iyr:2013
eyr:2024
ecl:brn pid:760753108 byr:1931
hgt:179cm

hcl:#cfa07d eyr:2025 pid:166559648
iyr:2011 ecl:brn hgt:59in


The first passport is valid - all eight fields are present. The second passport is invalid - it is missing hgt (the Height field).


The third passport is interesting; the only missing field is cid, so it looks like data from North Pole Credentials, not a passport at all! Surely, nobody would mind if you made the system temporarily ignore missing cid fields. Treat this "passport" as valid.


The fourth passport is missing two fields, cid and byr. Missing cid is fine, but missing any other field is not, so this passport is invalid.


According to the above rules, your improved system would report 2 valid passports.


Count the number of valid passports - those that have all required fields. Treat cid as optional. In your batch file, how many passports are valid?



Hier mein Textfile welches ausgelesen werden muss:

Code:
ecl:#eef340 eyr:2023 hcl:#c0946f pid:244684338 iyr:2020 cid:57 byr:1969 hgt:152cm

pid:303807545 cid:213 ecl:gry hcl:#fffffd
eyr:2038 byr:1951
hgt:171cm iyr:2011

hcl:#c0946f byr:1933 eyr:2025 pid:517067213 hgt:173cm
ecl:hzl
iyr:2018

pid:5253256652 byr:2009 hgt:152cm iyr:1989 eyr:1968 hcl:64cb63 ecl:hzl

iyr:2013
pid:862607211 eyr:2020
hgt:174cm
byr:1990
ecl:blu hcl:#888785

ecl:grn byr:1955
pid:608098408 eyr:2027 iyr:2020 hcl:#b6652a cid:264
hgt:181cm

byr:1998 ecl:hzl eyr:2021
hcl:#866857 hgt:189cm iyr:2030
pid:013735467

pid:075417314 hcl:#b6652a byr:1957
iyr:2011
hgt:154cm
eyr:2025
ecl:amb

iyr:1993 hgt:74cm eyr:1960
byr:2029
hcl:293244 ecl:#3cb5e5 pid:4861232363

hgt:153cm hcl:#6b5442 pid:065240897 byr:1932
cid:196 ecl:blu eyr:2028 iyr:2019

eyr:2024 ecl:amb
hcl:#866857 byr:1922 pid:496904942 hgt:164cm iyr:2020

pid:847705161 byr:1951 cid:124 iyr:1991
eyr:2028 ecl:dne
hcl:6b2d28 hgt:172cm

byr:2007 iyr:2029 ecl:hzl eyr:2026 hgt:168in
hcl:z
pid:63151612

iyr:2027 hgt:172in
cid:174 byr:2014 hcl:z eyr:1921
ecl:grt pid:#cebdc2

ecl:amb hcl:#d09c0f
iyr:2015 hgt:156cm eyr:2026 byr:1962
pid:086120872

cid:125
pid:837849996
byr:1958 ecl:brn hgt:166cm hcl:#ceb3a1 eyr:2028 iyr:2012

ecl:gry hgt:180cm
pid:939059935 eyr:2023 byr:1977 hcl:#b6652a

hgt:190in byr:2029 eyr:1984
ecl:gry hcl:z pid:055092916 iyr:2010

hgt:63in ecl:blu byr:1940 iyr:2012 eyr:2029 hcl:#7d3b0c
pid:163033394

eyr:2040 pid:181cm
iyr:1928 hgt:76cm hcl:d8aafb byr:1949 cid:275 ecl:xry

hcl:#cfa07d ecl:oth byr:1948 eyr:2021
pid:719690182 hgt:179cm iyr:2020

byr:1939 cid:266
eyr:2026 iyr:2017 hcl:#f116d2
ecl:hzl pid:522421825
hgt:68in

hcl:z hgt:61in
cid:115 pid:180cm iyr:2030 byr:2014 eyr:2032 ecl:hzl

ecl:xry
eyr:2028 pid:191cm iyr:2015 hgt:150cm byr:2029

eyr:2027
hcl:#a97842 pid:997937480 hgt:61in iyr:2019
byr:1921
ecl:grn

hgt:163cm
pid:912318455 iyr:2016 byr:1988 ecl:brn hcl:#a97842 cid:221 eyr:2029

cid:333 hcl:#c0946f
hgt:163cm iyr:2018 eyr:2027 ecl:oth

cid:70 hcl:#c0946f
pid:961507902 byr:1949 ecl:grn iyr:2017 eyr:2029 hgt:69in

hgt:169cm ecl:amb
iyr:2013 pid:496169901
byr:1943 eyr:2028 hcl:#ceb3a1
cid:249

ecl:blu cid:343
iyr:1998 hgt:154in hcl:#efcc98 byr:1972

pid:508213120 iyr:2012 eyr:2025 hcl:z hgt:70cm byr:1976
ecl:brn

iyr:1924
eyr:2005
hcl:z
hgt:167 pid:154cm
byr:2007

pid:761333244 hgt:180cm iyr:2017 hcl:#18171d eyr:2021
byr:1983
cid:67 ecl:oth

eyr:1993
byr:2003
hcl:#602927
ecl:grt
cid:84 hgt:178
pid:1847086637 iyr:2026

hcl:#866857 hgt:162cm pid:483774485 iyr:2010
byr:1946 eyr:2028 ecl:gry

pid:726639691 eyr:2028
hgt:171cm hcl:#ff65a6
iyr:2011 byr:1989

hcl:z iyr:2026 ecl:xry
eyr:2037 byr:2005 pid:#f09a0f
hgt:68 cid:156

hgt:71in ecl:blu eyr:2026 hcl:#18171d
byr:1981 iyr:2017
pid:698636544

eyr:2021
byr:1957 ecl:brn pid:365378126 cid:93 iyr:2019 hcl:#18171d hgt:179cm

byr:1996 iyr:2014 hgt:64cm
eyr:2034
hcl:z

pid:629486472 cid:140
hgt:192cm eyr:2020 hcl:#b6652a iyr:1988 byr:2021 ecl:brn

byr:1955 iyr:2015 eyr:2030
ecl:gry hcl:z pid:6550198754
hgt:158cm cid:305

ecl:gry hcl:#a97842
hgt:176cm eyr:2022 pid:810146585 iyr:2020

byr:2027 hcl:#cfa07d
iyr:2011 ecl:#f07598
cid:293
hgt:150cm pid:#fa948d eyr:2029

eyr:2028 iyr:2013 hgt:69in ecl:gry pid:317170371
cid:147 hcl:#bfe1f1

byr:1976
pid:059341891 hgt:174cm
ecl:oth
eyr:2029 iyr:2017 hcl:#733820

iyr:2018 hcl:#ceb3a1 hgt:188cm cid:308
pid:792826885 byr:1948 ecl:blu eyr:2028

iyr:2017 cid:94 hcl:#95c7dc
pid:231757803 eyr:2022
byr:1992 hgt:153cm ecl:amb

eyr:2027
iyr:2011 hgt:186cm
ecl:brn pid:996347346 hcl:#866857
byr:1960

eyr:2025 byr:2001
ecl:blu pid:755715478 iyr:2019 hgt:61in

ecl:gry
eyr:2038
hgt:81 hcl:z iyr:2028
cid:214 byr:1965

pid:412744447 byr:1979 hcl:#cfa07d ecl:blu
eyr:2029 cid:157
hgt:180in iyr:1948

hgt:170cm
pid:623557081 byr:1924 eyr:2024 hcl:98d623 iyr:2012 ecl:amb

cid:311 ecl:grn
iyr:2011 byr:1982
eyr:2002 hcl:#ef318a
pid:0548169957
hgt:87

eyr:2030 hcl:#733820 iyr:2016 pid:558470391
byr:1936 ecl:oth hgt:185cm

iyr:2019
ecl:amb byr:1949
pid:376468392
hgt:178cm

pid:019195245
ecl:grn hgt:171cm
byr:1978 iyr:2011 eyr:2022 hcl:#733820
cid:134

hcl:#623a2f hgt:192cm eyr:2026 byr:1977
ecl:grn cid:308

ecl:hzl pid:715816358 hgt:69in iyr:2014 hcl:#623a2f
byr:1996
eyr:2027

iyr:1947
ecl:#39a697
hgt:183cm byr:2029
eyr:2022 pid:7951883913
hcl:z

ecl:gry byr:1950
hcl:#18171d hgt:168cm iyr:2020 pid:677187333 eyr:2027

byr:1969 ecl:blu hcl:#18171d iyr:2011
hgt:162cm
pid:701349891

cid:269 byr:1966
iyr:2011
pid:905940527 eyr:2023 hgt:190cm
ecl:brn hcl:#ceb3a1

eyr:2027 pid:454627395 ecl:brn
hcl:#ceb3a1 cid:302 hgt:184cm
byr:1959
iyr:2015

iyr:2011
eyr:2028
hgt:166cm
hcl:#733820 byr:1938 ecl:blu pid:857984986

hcl:#c0946f ecl:brn pid:226877822
hgt:182cm byr:1998
cid:160

hgt:186in pid:26499164 byr:2017
hcl:z
iyr:1998 eyr:2026
cid:331 ecl:#236556

pid:328866543
hgt:165cm eyr:2039 iyr:1987 ecl:amb byr:2018 hcl:z

iyr:2016 eyr:2036 hcl:#888785 byr:1976 pid:160402352 hgt:76cm ecl:blu

ecl:blu
hcl:#fffffd eyr:2025 hgt:66in pid:979788527
byr:1957 iyr:2013

ecl:grn pid:279357265 iyr:2019 eyr:2021 byr:1953
hgt:177cm hcl:#c0946f

ecl:oth hcl:z eyr:2025 byr:1949 hgt:189cm iyr:2020 pid:901383503

byr:2019 hcl:#733820
pid:31022828 eyr:1929
hgt:75cm iyr:2012 ecl:grn

pid:080462937
ecl:blu hcl:#866857
cid:102
iyr:2013 eyr:2025 byr:1975 hgt:64in

iyr:2016
eyr:2028
cid:125
byr:1979 hcl:#866857
ecl:brn hgt:173cm pid:814947616

hcl:z byr:2020 pid:#c3b54b hgt:174in eyr:2038
iyr:2016
ecl:gmt

cid:132
iyr:1958
pid:61543452 hcl:z
ecl:zzz eyr:2039 byr:2006

cid:55 eyr:2022 byr:1954 iyr:2015
hgt:188cm hcl:#a97842 pid:49143631 ecl:amb

hgt:152cm
byr:1982
iyr:2013 ecl:blu
hcl:#341e13
eyr:2026 pid:440841976

iyr:2019 ecl:blu pid:553456616 hcl:#733820 hgt:160cm byr:1932 eyr:2030

byr:1980 hgt:169cm hcl:#7d3b0c cid:312 iyr:2010
eyr:2026 pid:028550304 ecl:grn

ecl:amb eyr:2021 iyr:2014 hgt:71in pid:986053283 byr:1981

ecl:oth
eyr:2023 hcl:#888785
byr:1949
iyr:2016 pid:699325656

hgt:63cm cid:297 eyr:2020 pid:990390922
hcl:#602927 ecl:lzr
iyr:2012 byr:2016

hcl:9ea2fa eyr:2023 pid:088680493
byr:1998 iyr:2017 ecl:utc hgt:170cm cid:175

cid:316 iyr:2016 eyr:2026 hcl:#79ff1d hgt:65in
byr:1997 pid:215466710 ecl:oth

cid:213 byr:1983 hcl:#888785 iyr:2016 pid:767747981 eyr:2025
ecl:hzl hgt:168cm

eyr:2030 byr:1972
cid:282
ecl:gry hgt:178cm
hcl:#a97842
iyr:2018

hcl:#6b5442 ecl:amb
eyr:2028 cid:104 hgt:159cm pid:446429120 iyr:2012
byr:1938

byr:1940 hgt:178cm ecl:oth
hcl:#ceb3a1
pid:845683663 iyr:2015 eyr:2024

byr:1940 pid:496262233
hgt:184cm hcl:#b6652a
ecl:grn cid:152 iyr:2012 eyr:2029

hgt:185cm pid:455744229 byr:1954 eyr:2022 ecl:gry hcl:#6b5442 iyr:2012

hgt:182cm byr:1966 eyr:2028 ecl:#a5b7fc
iyr:2029

pid:343591896
cid:58
ecl:hzl
eyr:2022 hgt:180in byr:2021
hcl:#6b5442

ecl:utc hcl:#b6652a
pid:635147657 byr:2020
eyr:2022 hgt:157cm iyr:2018

ecl:grt cid:312 iyr:1959 pid:154262836
hgt:171cm
hcl:#fffffd
eyr:2024
byr:1982

hcl:#7a12b4 pid:223424149 ecl:hzl hgt:175cm
byr:1930 iyr:2010 eyr:2028

hcl:#c0946f pid:633476454 eyr:2026 iyr:2011
byr:1934
hgt:186cm
cid:289 ecl:gry

hcl:#fffffd pid:376300524 hgt:155cm byr:1964 iyr:2017 eyr:2021 ecl:grn

hcl:a5d4dc byr:2006 cid:165 ecl:#db800f iyr:2029 pid:0199789970 eyr:1961 hgt:61cm

eyr:2027 hgt:170cm iyr:2010
hcl:#c0946f
ecl:grn pid:415726530
byr:1985

cid:197 byr:1957 hgt:192in hcl:#a97842 ecl:hzl eyr:2029 pid:958973455 iyr:2011

iyr:2015 pid:933689314 hgt:162cm ecl:amb
cid:122 eyr:2021
hcl:#6b5442 byr:1973

eyr:2026 hgt:172cm
iyr:2012
ecl:brn hcl:#733820 pid:004474632
byr:2000

hgt:191cm eyr:2030 byr:1999 pid:9155071477 iyr:2026 hcl:#602927 cid:315
ecl:grn

iyr:2010 pid:182884251 hcl:#18171d hgt:154cm
eyr:2020
byr:1926 ecl:oth

iyr:2019 eyr:1920 pid:132839546
cid:283 hgt:188in hcl:#efcc98 byr:2027

iyr:2011 hgt:177cm
cid:117 byr:1976
ecl:gry
hcl:#623a2f eyr:2030 pid:134592046

byr:1968 hgt:146
iyr:2013 hcl:eefdc4 eyr:2028
ecl:xry pid:722120008

iyr:2016 byr:1941 hgt:67cm cid:51 hcl:#b6652a ecl:hzl eyr:2034 pid:994005715

hcl:#cfa07d ecl:oth
hgt:182cm eyr:2021 pid:612583941
byr:1983
iyr:2019

byr:1922
hcl:#602927 hgt:161cm ecl:gry eyr:2020 pid:190170808 iyr:2013

hgt:63cm cid:136
iyr:1999
pid:8235748647 hcl:z
byr:2022 eyr:1933
ecl:#304383

cid:273 ecl:blu hcl:z
iyr:2011 byr:2007
eyr:2020
pid:942473857 hgt:178in

ecl:grt byr:2029 hgt:187in eyr:2030 cid:160
hcl:#efcc98 pid:#39f22b
iyr:1966

byr:1978 ecl:oth iyr:2011 hgt:164cm eyr:2027 hcl:#cfa07d

hgt:75cm hcl:#1e8137 byr:1986 ecl:blu eyr:2022 pid:796688423
iyr:2012

eyr:2026
ecl:#3013af hcl:z pid:#e8597f hgt:123 iyr:2025 byr:1942

hcl:z hgt:177in
iyr:1993 pid:#4c9348 byr:2008 eyr:1989

pid:123524366 byr:1935
hgt:156cm hcl:#7d3b0c
iyr:2020 ecl:brn eyr:2020

hcl:z eyr:2038 pid:7663741757 ecl:gmt hgt:174
byr:2008 iyr:1939
cid:225

hcl:#888785 hgt:172cm
ecl:oth pid:500711541 eyr:2027
byr:1931 iyr:2012

pid:575447108 ecl:amb byr:1943
hcl:#888785 hgt:173cm eyr:2024

eyr:2021 iyr:2010 pid:178773264 hgt:157cm byr:1965 hcl:#bb7bcf ecl:amb

iyr:2023 ecl:#35bd84 byr:2020
hgt:72in
eyr:2037
hcl:#6b5442
pid:421311669

byr:1921 iyr:2011
pid:146088688
eyr:2023 hcl:#15ed24 hgt:183cm
ecl:brn

hcl:#b6652a cid:243
byr:1993 eyr:2024
iyr:2014 hgt:172cm
pid:771275594

eyr:2024
hcl:#cfa07d pid:858807920 cid:293 hgt:157cm ecl:hzl iyr:2013 byr:1984

ecl:blu hgt:193cm cid:73 hcl:#18171d eyr:2026
iyr:2016 pid:124151812 byr:1945

ecl:amb iyr:2018
pid:214555737 hgt:157cm
eyr:2028
byr:1925 hcl:#866857

pid:5633250409
hcl:4ef7d8
byr:2004 iyr:1958
hgt:96
eyr:2038 ecl:xry cid:274

byr:1972 pid:401239851 hgt:184in hcl:z iyr:2017
eyr:2030 ecl:#cb289a cid:140

hgt:175cm
byr:1926 hcl:#cfa07d eyr:2029 ecl:gry pid:325039730 iyr:2017

cid:101 hgt:166cm byr:1986 ecl:amb
hcl:#7d3b0c iyr:2013
pid:413769688 eyr:2024

hgt:159cm cid:311
byr:1993 eyr:2028 pid:188cm ecl:oth hcl:#602927 iyr:2013

pid:565831038
ecl:amb
hgt:155cm hcl:#fffffd cid:335 iyr:2016
eyr:2029 byr:1997

hgt:122
byr:2022
eyr:2028 ecl:blu iyr:2017 pid:269710626 hcl:#b6652a

cid:196
byr:1953 hcl:#6b5442 iyr:2010
pid:216121215 hgt:188cm ecl:blu

iyr:2011 hcl:98166c hgt:62cm
byr:2028
eyr:2024
pid:792478385 ecl:grn

hcl:#efcc98 iyr:2012 pid:020039675 eyr:2021 byr:1974 hgt:156cm
ecl:hzl

cid:123 hcl:#7d3b0c
byr:2026 eyr:2004 iyr:2012 ecl:oth pid:349203133 hgt:160cm

pid:085461475
byr:1962 iyr:2020 hcl:#623a2f
eyr:2024
cid:80 ecl:brn
hgt:154cm

ecl:oth hgt:156cm iyr:2016
hcl:#6b5442
byr:1973
eyr:2021 pid:539898580

iyr:2026 hgt:191cm
hcl:z
byr:1930 pid:#abc2f0 ecl:blu cid:242 eyr:2024

cid:167
hgt:179cm
iyr:2017 eyr:2021 pid:756797571 byr:1949 ecl:brn hcl:#a97842

byr:1975 eyr:2030
ecl:oth hgt:169in pid:4031206183 hcl:#733820 iyr:2017 cid:244

ecl:#54cfeb hgt:152cm
iyr:2026 hcl:36b4b9
byr:2030
pid:#fa1cb9 eyr:1964

byr:1974 cid:99 hcl:9e3296
eyr:2032
pid:686747414
iyr:1995
ecl:amb

iyr:2030 ecl:oth hcl:z byr:1979
pid:114661006 hgt:191cm eyr:1941

hcl:#341e13 iyr:2014 byr:1953
pid:188326193 ecl:gry hgt:189cm cid:283
eyr:2030

byr:1975
pid:092061576 hgt:73in eyr:2023
ecl:brn cid:227 hcl:#5e9d91
iyr:2011

hcl:#7d3b0c hgt:167cm cid:141
eyr:1957 byr:2012 ecl:gmt iyr:2019 pid:#1b7c8a

hgt:168cm hcl:#c0946f pid:599500784 byr:1930 eyr:2023 ecl:hzl cid:113
iyr:2013

eyr:2030 hcl:#b4cb4f
hgt:68in
ecl:brn byr:1923 pid:699162086

iyr:2013
ecl:dne hcl:z eyr:1971
pid:#580add byr:2020
hgt:190cm

hcl:#ceb3a1
byr:1976 eyr:2020
cid:162 iyr:2016
hgt:168cm
ecl:hzl

pid:050478613 hgt:59cm
iyr:2017
ecl:grn byr:2030 hcl:#cfa07d eyr:2025

pid:352943968 eyr:2025 byr:1980 iyr:2014 ecl:gry hcl:#c0946f
hgt:193cm

pid:328621931 cid:310 hgt:170cm
hcl:#733820 byr:1955
iyr:2016
eyr:2028 ecl:hzl

hcl:#866857
pid:095858739 byr:1956
iyr:2018 hgt:193cm
ecl:hzl
eyr:2029

pid:70973661 eyr:2039 ecl:gry
iyr:2016
cid:291
hcl:#623a2f hgt:97

hcl:4d51a8
eyr:1978
ecl:gmt
byr:2029 iyr:2022
pid:34507041 hgt:61cm

byr:1989 ecl:brn pid:769582914
eyr:2026 cid:218
iyr:2020 hcl:#866857 hgt:184cm

ecl:brn
iyr:1998 cid:227
hgt:162in
byr:2026
hcl:#602927 eyr:2027 pid:236998728

ecl:gry byr:1984 hgt:157 cid:295
eyr:2020
iyr:2018 hcl:#733820
pid:037871534

hgt:166cm hcl:#c0946f pid:412146401
iyr:2011
eyr:2022
byr:1938
ecl:brn

ecl:brn cid:95 byr:1981 eyr:2030 hcl:#efcc98 pid:777041035 hgt:152cm iyr:2011

eyr:2024 hgt:89 pid:3761913749 iyr:1939 byr:1967 hcl:a222f6 cid:165 ecl:#7fe574

cid:339 hgt:156cm
ecl:brn iyr:2013 byr:1951 hcl:#efcc98 eyr:2026
pid:863566946

ecl:brn hcl:#6b5442 eyr:2023
pid:787129723 byr:1949 iyr:2015

pid:#7f615a
cid:202 hcl:#6b5442 eyr:2028
ecl:#a5419c
hgt:75cm
iyr:2011
byr:2001

pid:864001133
cid:236
byr:1943 hcl:#733820 ecl:dne eyr:2025 hgt:171cm iyr:1989

pid:193073684 ecl:grn byr:1962 iyr:2014
hcl:#cfa07d hgt:189cm
cid:321 eyr:2029

byr:1959
hcl:#b6652a
eyr:2026
hgt:159cm pid:815014918 iyr:2011 ecl:amb

iyr:2017 hgt:182cm
hcl:#a97842 eyr:2023 ecl:grn pid:656177536
byr:1973

eyr:1923 ecl:grn
cid:138 iyr:2020
hgt:164cm byr:1958 hcl:#c0946f pid:783366277

iyr:1932 hgt:172 ecl:blu
hcl:#733820 byr:1962 pid:554221464

cid:169 pid:922622614
byr:1942 hcl:#ceb3a1 hgt:169cm eyr:2024
ecl:gry iyr:2017

cid:219 ecl:grn
hgt:156cm byr:1998 eyr:2021
iyr:2017 hcl:#ceb3a1 pid:450186263

ecl:amb hgt:179cm pid:768428582 iyr:2010 eyr:2023 byr:1952 hcl:#fffffd

eyr:2024
hgt:193cm
iyr:2017 pid:469033795 byr:1979 hcl:#18171d cid:67 ecl:amb

iyr:2016 byr:1937 pid:798267514 hgt:155cm hcl:#866857 eyr:2026
ecl:oth

hgt:172cm hcl:#866857 iyr:2018 pid:662186551
byr:1996
eyr:2025 ecl:amb

pid:2854521962
iyr:2021
ecl:zzz
hcl:12f1ba eyr:2037 hgt:159cm
byr:1937

ecl:oth pid:488050418 byr:1927 hcl:#a97842 hgt:153cm iyr:2013 eyr:2024

pid:119536312 ecl:#2036ad
hcl:543178 iyr:2020
byr:2013
hgt:177cm
eyr:2022

pid:788908662 hcl:#602927 eyr:2029
ecl:oth byr:1930
iyr:2020
hgt:179cm

byr:1972
pid:053386972 iyr:2014 ecl:grn hgt:65in hcl:#cfa07d

pid:9828921035 ecl:blu
hcl:z hgt:152in
eyr:1949 byr:2010

cid:157 pid:097910554 byr:1999
hgt:159cm hcl:#6b5442 ecl:blu eyr:2024
iyr:2010

hcl:#a97842
eyr:2040 ecl:#f8ad77
hgt:173cm
byr:2019 iyr:2010
pid:#d16a6e

ecl:dne hgt:191cm iyr:2020 hcl:#b6652a
eyr:2021 pid:571971509 byr:1983

hcl:#18171d iyr:2016 pid:159074622
eyr:2027 hgt:163cm byr:1954
cid:257

pid:243560302 cid:58
hcl:53a4cf byr:2012
ecl:#fdbfb8 eyr:1920 hgt:179 iyr:2026

pid:040606106 eyr:2030 hgt:188cm
byr:1969
iyr:2012 hcl:#ceb3a1 ecl:amb

eyr:2022
hgt:175cm hcl:#b6652a byr:1967 pid:269969031
iyr:2018

hcl:#18171d cid:278 byr:1931
pid:134809791
eyr:2035 ecl:#44e6cd iyr:1993

hgt:177in
ecl:utc cid:289
iyr:1923
hcl:13a67a pid:3045345984 byr:2030 eyr:1944

pid:839901650 eyr:2030
ecl:grn
byr:2015 iyr:2017 hgt:168 hcl:131f4e

iyr:2015 pid:529736732 ecl:brn hgt:176cm
eyr:2026 byr:1952 hcl:#6b5442

hcl:#c0946f
cid:323 pid:303966428 iyr:2019
eyr:2027 hgt:170cm
byr:2001
ecl:brn

pid:193678728 hgt:72in eyr:2027 iyr:2015 byr:1951 ecl:gry hcl:#18171d

eyr:2026 cid:283
iyr:1938 pid:687430885
hgt:186cm
byr:1949 ecl:#521638 hcl:d13b2f

eyr:2024 hcl:#ceb3a1 iyr:2013 ecl:brn
hgt:168cm pid:792088241

hcl:#888785 ecl:amb
byr:2009 iyr:2015
hgt:151cm
eyr:2020 pid:223927808

byr:1926
pid:717704850
hcl:#623a2f eyr:2022 hgt:64in iyr:2018 ecl:gry

eyr:2023 byr:1954
hgt:169cm
ecl:hzl
iyr:2010 pid:116868997 hcl:#18171d

ecl:hzl byr:1965 hcl:#a97842 iyr:2011 pid:506354451 hgt:172cm eyr:2029

eyr:2022 pid:994565705
iyr:2013 ecl:brn hcl:#623a2f
byr:1979

iyr:2011
byr:1931 hgt:183cm hcl:#284f26 cid:306
ecl:amb eyr:2021
pid:977533079

eyr:2027
iyr:2011 ecl:gry
byr:1993
pid:272334781 hgt:161cm hcl:#9a35b6

eyr:2026
hcl:#602927 ecl:blu
pid:212300161 byr:1946
cid:193 iyr:2020 hgt:157cm

pid:538594567 byr:1976 eyr:2027 hcl:#efcc98 iyr:2011 hgt:154cm ecl:oth

byr:1949
hcl:z ecl:#ce67aa
eyr:1942 pid:7978941589 iyr:2025 hgt:161in

hcl:#c0946f
cid:55
byr:1963 ecl:blu hgt:161cm
pid:547120453 iyr:2015 eyr:2021

hgt:173cm eyr:2022
iyr:2016 byr:2001
ecl:hzl pid:239803460

hcl:#b6652a ecl:oth eyr:2021 hgt:167cm pid:401266644 iyr:1969 byr:1974

eyr:2030 pid:581963885
hcl:#64cb23
ecl:blu
byr:1928 hgt:181cm iyr:2018

pid:186338247
ecl:hzl hgt:193cm hcl:#ceb3a1
eyr:2022 iyr:2010

iyr:2015 ecl:gry hgt:159cm eyr:2027 hcl:#ceb3a1
byr:1925 pid:715902111 cid:149

iyr:2018 hcl:#623a2f eyr:2020 hgt:162cm ecl:grn cid:135
byr:1922
pid:373216777

eyr:2020 pid:749899012 hcl:#888785 ecl:brn
iyr:2010 cid:225 hgt:172cm
byr:1972

iyr:2020 hgt:178cm ecl:grn hcl:#18171d pid:613792489 cid:240
eyr:2028
byr:1972

iyr:2015 byr:1938 eyr:2026
cid:113 ecl:grn
pid:846231640 hgt:161cm
hcl:#b6652a

ecl:gry
hcl:#ceb3a1
byr:1956 cid:338 pid:936012518
hgt:62in
eyr:2029 iyr:2016

pid:730866353 ecl:brn byr:1986
iyr:2014
hgt:190cm
eyr:2021 hcl:#a97842 cid:126

eyr:2021
cid:180 pid:958310635 ecl:brn iyr:2015 hgt:189cm hcl:#efcc98

hgt:188cm ecl:hzl pid:179001863 iyr:2016 eyr:2029 hcl:#341e13 byr:1932

cid:77 eyr:2027 hcl:#623a2f iyr:2016 ecl:brn hgt:170cm
byr:1947

hgt:66in pid:617518313 iyr:2013 byr:1977 hcl:#b6652a ecl:brn eyr:2025

pid:787861420
iyr:2014 hcl:#623a2f hgt:61in
ecl:oth cid:78
eyr:2022 byr:1975

ecl:hzl
iyr:2017 eyr:2028 hcl:#602927
byr:1958 pid:985208714
hgt:160cm

byr:2002
iyr:2013
hcl:#341e13 pid:188110633 ecl:gry hgt:169cm
eyr:2025

byr:1981
eyr:2028
hcl:#341e13 ecl:amb hgt:160cm cid:121
iyr:2015 pid:963848397

iyr:2013 hcl:#866857 pid:#db8648 eyr:2021 ecl:gry
byr:1975
hgt:153cm cid:114

hgt:109
cid:287 hcl:#6b5442
iyr:2028 byr:1926 eyr:2036 pid:2378208387
ecl:#245a62

pid:857722366
byr:1975 eyr:2027
ecl:grn iyr:2019 hcl:#0afad1
hgt:66in

byr:1935 hcl:#cfa07d hgt:173cm ecl:brn eyr:2021 iyr:2019

cid:66 eyr:2024 hcl:#efcc98 byr:2002 iyr:2010
hgt:176cm pid:697153153 ecl:amb

iyr:2019
hcl:#cfa07d ecl:blu
pid:695914972
eyr:2024
hgt:158cm
byr:1943

ecl:xry hgt:62in
pid:14733148 cid:148
iyr:2016 byr:1925 hcl:#6b5442
eyr:2028

iyr:2025
cid:53 hgt:132 ecl:gmt hcl:159b19
pid:156cm
byr:2025 eyr:2001

hcl:#623a2f ecl:oth byr:1974 iyr:2018 hgt:161cm eyr:2029 pid:6826285172

ecl:gry
byr:1956 hcl:#7d3b0c hgt:170cm iyr:2020

eyr:2020
pid:#946a88 hgt:186cm hcl:#733820 byr:1946 ecl:#016645 iyr:2015

hgt:181cm hcl:#888785 iyr:2013 pid:634152817
byr:1982 cid:245 ecl:grn eyr:2021

ecl:brn
pid:737531770 iyr:2010
eyr:2020
byr:1929 hgt:189cm hcl:#c0946f

cid:158 iyr:2019 hcl:#341e13 eyr:2027 ecl:amb
byr:1986 pid:834976623

pid:976934668 cid:61 eyr:2020 iyr:2020
hgt:76in byr:1927 ecl:amb
hcl:#e05ee3

pid:526042518 iyr:2019 eyr:2027 hcl:#623a2f byr:1976 ecl:amb

pid:279367290 hcl:#a97842 hgt:158cm
eyr:2027
byr:1959
iyr:2020

ecl:xry byr:2028
pid:357216861 hcl:#a97842 eyr:2024 hgt:66cm
iyr:2012

hgt:188in
ecl:lzr cid:64 eyr:1958 byr:2014 hcl:z pid:285207570 iyr:2026

eyr:1973 iyr:2017 ecl:oth cid:282 pid:695814158
hcl:z

iyr:2010 pid:661168409
hcl:#53c696
hgt:186cm ecl:amb
byr:1960
eyr:2029

eyr:1982 hgt:169cm
iyr:2002 byr:2025 hcl:327f93 pid:831648100

byr:1967 ecl:oth
eyr:2021
hcl:#602927 iyr:2014
pid:274974402 hgt:183cm



Hier mal mein Code:

Java:
import java.io.BufferedReader;
import java.io.File;

import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class Day4 {

    public static void main(String[] args) throws IOException {

        ArrayList<String> arr = new ArrayList<String>();

        String tempString;

        int counter = 0;

        File file = new File("day4");

        BufferedReader bf = new BufferedReader(new FileReader(file));

        while ((tempString = bf.readLine()) != null) {
            arr.add(tempString);

        }
        bf.close();

        StringBuilder stringBuilder = new StringBuilder();

        for (int i = 0; i < arr.size(); i++) {

            if (arr.get(i).contains(":")) {
                stringBuilder.append(arr.get(i) + " ");

            } else {
                System.out.println(stringBuilder);
                if (stringBuilder.toString().contains("ecl:") && stringBuilder.toString().contains("eyr:")
                        && stringBuilder.toString().contains("hcl:") && stringBuilder.toString().contains("pid:")
                        && stringBuilder.toString().contains("iyr:") && stringBuilder.toString().contains("byr:")
                        && stringBuilder.toString().contains("hgt:")) {
                    counter++;
                }
                stringBuilder = new StringBuilder();

            }

        }
        System.out.println(counter);

    }

}
 
Beste Antwort
K
Du gibst relativ wenig Informationen. Was wäre das erwartete oder richtige Ergebnis? Oder sollen wir jetzt die ganze Eingabedatei manuell prüfen? Warum so eine lange Datei? Für Tests reicht doch auch eine kurze Datei aus!

Und wenn Du einfach nur die Eingabe aus den 4 Passports nimmst, dann wirst Du an der Ausgabe feststellen, dass er die Daten des letzten Passports nicht prüft, denn Du prüfst immer nur bei einer Leerzeile. Und wenn da keine Leerzeile mehr kommt, dann testet er die letzte Eingabe halt nicht.
K

kneitzel

Gast
Du gibst relativ wenig Informationen. Was wäre das erwartete oder richtige Ergebnis? Oder sollen wir jetzt die ganze Eingabedatei manuell prüfen? Warum so eine lange Datei? Für Tests reicht doch auch eine kurze Datei aus!

Und wenn Du einfach nur die Eingabe aus den 4 Passports nimmst, dann wirst Du an der Ausgabe feststellen, dass er die Daten des letzten Passports nicht prüft, denn Du prüfst immer nur bei einer Leerzeile. Und wenn da keine Leerzeile mehr kommt, dann testet er die letzte Eingabe halt nicht.
 
Beste Antwort

spike86

Mitglied
Und wenn Du einfach nur die Eingabe aus den 4 Passports nimmst, dann wirst Du an der Ausgabe feststellen, dass er die Daten des letzten Passports nicht prüft, denn Du prüfst immer nur bei einer Leerzeile. Und wenn da keine Leerzeile mehr kommt, dann testet er die letzte Eingabe halt nicht.

Danke dir, da lag der Fehler, es waren dann 206.

Das Ergebniss muss man selber rausfinden und auf der Seite eintragen. Jeder der daran teilnimmt, bekommt eine andere Datai zum einlesen, deswegen habe ich meine hier gepostet, falls es jemand selber duchgehen wollte, und anbei habe ich auch die Aufgabe zugefügt. Es ging in erster Linie nur um meinen Code, wo genau der Fehler liegt.
 
K

kneitzel

Gast
Danke dir, da lag der Fehler, es waren dann 206.

Das Ergebniss muss man selber rausfinden und auf der Seite eintragen. Jeder der daran teilnimmt, bekommt eine andere Datai zum einlesen, deswegen habe ich meine hier gepostet, falls es jemand selber duchgehen wollte, und anbei habe ich auch die Aufgabe zugefügt. Es ging in erster Linie nur um meinen Code, wo genau der Fehler liegt.
Das ist so durchaus verständlich, aber meine Aussage war eher als Ratschlag gemeint, dass man es klein testet um dann sicher zu gehen, dass es genau das ist, was man erwartet. Also ich hätte diverse Dateien mit:
a) nur einem Datensatz getestet um diverse mögliche Datensätze zu testen.
b) mit einem Datensatz der unterschiedlich dargestellt wird (also kein, ein. mehrere Zeilenumbrüche
c) ggf. invalide Daten selbst...
getestet.

Bei jedem einzelnen Test wäre das Ergebnis relativ einfach verifizierbar und Fehler einfach und schnell erkennbar.
 

spike86

Mitglied
Das ist so durchaus verständlich, aber meine Aussage war eher als Ratschlag gemeint, dass man es klein testet um dann sicher zu gehen, dass es genau das ist, was man erwartet. Also ich hätte diverse Dateien mit:
a) nur einem Datensatz getestet um diverse mögliche Datensätze zu testen.
b) mit einem Datensatz der unterschiedlich dargestellt wird (also kein, ein. mehrere Zeilenumbrüche
c) ggf. invalide Daten selbst...
getestet.

Bei jedem einzelnen Test wäre das Ergebnis relativ einfach verifizierbar und Fehler einfach und schnell erkennbar.
Da gebe ich dir recht, werde ich in Zukunft auch beachten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
terashy VS Code Project run error Java Basics - Anfänger-Themen 10
JaZuDemNo Code Erklärung Java Basics - Anfänger-Themen 3
M Connect-4-Code analysieren Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
T Fehlercode bei code der das Alter ausrechnet Java Basics - Anfänger-Themen 2
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
jhfjeh Strukturgramm in code Java Basics - Anfänger-Themen 11
D Tipps zum Code Java Basics - Anfänger-Themen 24
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
Say Stelle in Code herausfinden, wie geht man vor? Java Basics - Anfänger-Themen 12
Say do-While Code Ausführung Java Basics - Anfänger-Themen 3
W Rückfrage zur Programmgestaltung (clean code) Java Basics - Anfänger-Themen 12
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
Pinhg Sound in Greenfoot Code einbinden Java Basics - Anfänger-Themen 2
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
A Wie könnte man diesen Code kürzer machen ? Java Basics - Anfänger-Themen 7
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
I Code wird nicht ausgeführt Java Basics - Anfänger-Themen 2
K Wie kann man diesen Code schnell und effizient interpretieren (Man hat nur 4 Minuten) Java Basics - Anfänger-Themen 3
R ISBN-10-Code überprüfen Java Basics - Anfänger-Themen 7
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
I HTML Code säubern Java Basics - Anfänger-Themen 4
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
N Java-Code abwärtskompatibel machen Java Basics - Anfänger-Themen 4
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
S Compiler-Fehler Nicht adressierbarer Code ( Non-addressable code ) Java Basics - Anfänger-Themen 5
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
A Code Problem Java Basics - Anfänger-Themen 6
C Fehler im Code Java Basics - Anfänger-Themen 10
A Zu einem bestimmten Ort im Code springen Java Basics - Anfänger-Themen 11
L Ist der Code richtig Java Basics - Anfänger-Themen 3
josfe1234 code vereinfachen Java Basics - Anfänger-Themen 15
nonickatall Ausführbarkeit von Code testen bzw. Remote Debugging Java Basics - Anfänger-Themen 4
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
G Programm Code Java Basics - Anfänger-Themen 5
C Code zusammenfassen Java Basics - Anfänger-Themen 5
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
T Programmablaufsplaninterpretation in Code umformen Java Basics - Anfänger-Themen 1
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
M ISBN-Code Java Basics - Anfänger-Themen 26
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
N Kann man den Code vereinfachen? Java Basics - Anfänger-Themen 25
marcooooo Code erklären Java Basics - Anfänger-Themen 28
marcooooo Code erklären Java Basics - Anfänger-Themen 4
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
Lukasbsc Wie kann ich meinen Code optimieren? Java Basics - Anfänger-Themen 4
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
T Main startet nicht bei vorgegebenen Code Java Basics - Anfänger-Themen 41
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
parrot Code entferneJedeZweiteZiffer Java Basics - Anfänger-Themen 6
G Code kürzen Java Basics - Anfänger-Themen 5
Bluedaishi Source Code Signieren Java Basics - Anfänger-Themen 22
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
L Best Practice Code refactern Java Basics - Anfänger-Themen 30
G code kürzen Java Basics - Anfänger-Themen 16
A Code umschreiben Java Basics - Anfänger-Themen 6
Torsten.E JavaFX mit Visual Studio Code verwenden Java Basics - Anfänger-Themen 1
C Beispiel-Code mit Pair wird nicht compiliert. Java Basics - Anfänger-Themen 8
X Reverse algorithm engineering (Java code) Java Basics - Anfänger-Themen 6
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
R Was muss ich an meinem Code ändern? Java Basics - Anfänger-Themen 2
S Bewertet meinen Code - Part 1 Java Basics - Anfänger-Themen 8
M Java Code Verständnis Java Basics - Anfänger-Themen 4
M Java Code Verständnis Java Basics - Anfänger-Themen 2
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Hierarchi im code darstellen Java Basics - Anfänger-Themen 11
S Struktogramm zu Code Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben