View Single Post
[Python3]AoC luke 4:
SPOILER ALERT! Vis spoiler

Kode

passphrases = [p.rstrip() for p in open("4.txt").readlines()]

# Part 1
valid = 0
for passphrase in passphrases:
    words = passphrase.split()
    if len(set(words)) == len(words):
        valid += 1
print("Part 1: {}".format(valid))

# Part 2
valid = 0
for passphrase in passphrases:
    words = [''.join(e) for e in map(sorted, passphrase.split())]
    if len(set(words)) == len(words):
        valid += 1
print("Part 2: {}".format(valid))
I del 1 så legger jeg alle ordene i et set-objekt, som kun kan inneholde unike objekter. Om det er like mange objekter i settet som i listen med ord, må alle ordene være unike.

I del 2 så gjør jeg det samme, men sorterer hvert ord først. To ord er anagrammer (eller like) om de er like etter sortering. Dette kravet er derfor sterkere enn det i del 1, og jeg trenger derfor ikke å sjekke at de oppfyller del 1 også.
Sist endret av Dyret; 4. desember 2017 kl. 14:19.