Dienstag, 5. März 2013

Hot Pad

Das „Hot Pad“-Problem von HP Codewars für 9 Punkte besteht eigentlich aus 2 Problemen. Im Rahmen des Problems erhalte ich von einem Keypad die Temperaturen je Taste und muss eine Liste der möglichen Kombinationen ausgegeben, die ein Anwender getippt haben könnte.

Problem

Die beiden Probleme sind folglich:

  1. Lies die Temperaturwerte ein und stelle fest, welche Taste einmal und welche ggf. zweimal gedrückt wurde. Es gibt eine durchschnittliche Temperatur und die Taste # muss zwingend zum Absenden gedrückt sein.
  2. Für die ermittelten Tasten muss ich anschließend alle möglichen Kombinationen ausgeben. Das ist ein Problem der Kombinatorik, wenn ich mich nicht irre.

Erste Annäherung

Beachten muss ich, dass die eingegebenen Codes eine Länge von 4 Ziffern haben und mit einem # abgeschlossen werden. Das Keypad sieht so aus:

1 2 3
4 5 6
7 8 9
* 0 #

Die Temperaturwerte für das Pad sehen u. a. so aus:

Datensatz 1
72.1
75.0
75.1
72.0
72.1
72.2
72.0
72.2
77.9
72.1
72.2
75.2

Datensatz 2

77.2
77.1
76.9
77.0
83.5
77.0
77.1
77.3
77.1
77.0
79.4
79.1

Die Temperaturen können schwanken, was beachtet werden muss! Denke daran, dass eine Taste einmal, zweimal, dreimal oder auch viermal gedrückt werden könnte; die Raute wird einmal gedrückt worden sein. Das Sternchen sollte eigentlich nicht gedrückt worden sein.

1 Kommentar:

  1. Das zweite Teilproblem ist sehr einfach mit dem `itertools`-Modul lösbar, wenn man erst einmal die Tasten ermittelt hat.

    AntwortenLöschen