diff --git a/.idea/misc.xml b/.idea/misc.xml
index 9313b0a..c4ce182 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,7 +3,7 @@
-
+
\ No newline at end of file
diff --git a/15/15-2.py b/15/15-2.py
index b9f9b23..4e0b0c0 100644
--- a/15/15-2.py
+++ b/15/15-2.py
@@ -13,7 +13,7 @@ input_file.close()
def get_hash(val):
h = 0
- for b in value:
+ for b in val:
h += ord(b)
h *= 17
h %= 256
@@ -21,7 +21,43 @@ def get_hash(val):
hashsum = 0
+boxes = {}
for value in data:
- print(value, get_hash(value))
- hashsum += get_hash(value)
-print("Hashsumme:", hashsum)
+ if value.count("-") == 1:
+ value = value.replace("-", "=")
+ h = get_hash(value[:-1])
+ if h in boxes.keys():
+ lin = boxes[h]
+ x = -1
+ for j in range(len(lin)):
+ if lin[j].startswith(value):
+ x = j
+ if x != -1:
+ lin.pop(x)
+ if len(lin) == 0:
+ boxes.pop(h)
+ else:
+ boxes[h] = lin
+
+ else:
+ hv = value.split("=")[0]
+ h = get_hash(hv)
+ ersetzt = False
+ if h in boxes.keys():
+ linsen = boxes[h]
+ for i in range(len(linsen)):
+ if linsen[i].startswith(hv+"="):
+ linsen[i] = value
+ ersetzt = True
+ if not ersetzt:
+ linsen.append(value)
+ boxes[h] = linsen
+ else:
+ boxes[h] = [value]
+
+print(boxes)
+solution=0
+for key in boxes.keys():
+ for k in range(len(boxes[key])):
+ pass
+