mirror of
https://github.com/KevinMidboe/knowit_julekalender-2018.git
synced 2025-10-29 09:40:18 +00:00
The Adventure of Rain Dance Maggie ☔️🌶
This commit is contained in:
40
luke_02/doubleRainbow.py
Executable file
40
luke_02/doubleRainbow.py
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os, re
|
||||
|
||||
def getVectors(file='./input-rain.txt'):
|
||||
path = os.path.join(os.path.dirname(__file__), file)
|
||||
with open(path, 'r') as f:
|
||||
return f.read().split('\n')
|
||||
|
||||
def mostParallelVectors(input):
|
||||
parallel_vectors = {}
|
||||
|
||||
for plot in input:
|
||||
try:
|
||||
v1, v2 = re.sub(r'\(|\)', '', plot).split(';')
|
||||
except ValueError as e:
|
||||
continue
|
||||
|
||||
x1,y1 = v1.split(',')
|
||||
x2,y2 = v2.split(',')
|
||||
x1,y1,x2,y2 = [int(x1),int(y1),int(x2),int(y2)]
|
||||
|
||||
slope = (y2 - y1) / (x2-x1)
|
||||
|
||||
if slope in list(parallel_vectors.keys()):
|
||||
parallel_vectors[slope] += 1
|
||||
else:
|
||||
parallel_vectors[slope] = 1
|
||||
|
||||
most = 0
|
||||
for vector in parallel_vectors.values():
|
||||
if vector > most:
|
||||
most = vector
|
||||
return most
|
||||
|
||||
def main():
|
||||
return mostParallelVectors(getVectors())
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(main())
|
||||
49273
luke_02/input-rain.txt
Normal file
49273
luke_02/input-rain.txt
Normal file
File diff suppressed because it is too large
Load Diff
9
luke_02/question.md
Normal file
9
luke_02/question.md
Normal file
@@ -0,0 +1,9 @@
|
||||
## Parallellregning
|
||||
|
||||
Av: Sverre Johann Bjørke
|
||||
|
||||
Det er en mørk og stormfull aften. Julesnøen glimrer med sitt fravær, ute høljer det ned. Inne sitter Melvin på fire år og tegner uværet. Mange rette blyantstrek på kryss og tvers på arket. Pappa Harald, som er matematiker, ser på. Han drømmer seg bort, og regnstrekene blir linjestykker i et plan.
|
||||
|
||||
Regnstrekene er representert med to punkter (x1,y1);(x2,y2) i denne listen. Om man grupperer strekene som er parallelle sammen, hvor mange streker er det i den største gruppen? Svar som heltall.
|
||||
|
||||
For ordens skyld definerer vi parallellitet som at linjenestykkene aldri vil krysse hverandre, selv om de utvides uendelig langt.
|
||||
@@ -1,2 +1,4 @@
|
||||
from luke_02.doubleRainbow import main as doubleRainbow
|
||||
|
||||
def test_answer():
|
||||
assert False
|
||||
assert doubleRainbow() == 324
|
||||
|
||||
Reference in New Issue
Block a user