projects
/
advent-of-code-16.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed language extension
[advent-of-code-16.git]
/
advent02.hs
diff --git
a/advent02.hs
b/advent02.hs
index 25b78c82c3108f98434a7e34fc36526ce9df91fb..d4abc555865e2af68e70d161f441f9edd7e6a199 100644
(file)
--- a/
advent02.hs
+++ b/
advent02.hs
@@
-1,14
+1,16
@@
+module Main(main) where
+
import Data.Array.IArray
-- Row 1 is top, column 1 is left
type Position = (Int, Int)
type Keyboard = Array Position Char
import Data.Array.IArray
-- Row 1 is top, column 1 is left
type Position = (Int, Int)
type Keyboard = Array Position Char
-kb1 = [
['x', 'x', 'x', 'x', 'x']
,
-
['x', '1', '2', '3', 'x']
,
-
['x', '4', '5', '6', 'x']
,
-
['x', '7', '8', '9', 'x']
,
-
['x', 'x', 'x', 'x', 'x']
]
+kb1 = [
"xxxxx"
,
+
"x123x"
,
+
"x456x"
,
+
"x789x"
,
+
"xxxxx"
]
kb2 = ["xxxxxxx",
"xxx1xxx",
kb2 = ["xxxxxxx",
"xxx1xxx",
@@
-21,7
+23,7
@@
kb2 = ["xxxxxxx",
enumerate = zip [0..]
mkKeyboard :: [String] -> Keyboard
enumerate = zip [0..]
mkKeyboard :: [String] -> Keyboard
-mkKeyboard kb = array ((0, 0), (length kb - 1, length
kb
- 1))
+mkKeyboard kb = array ((0, 0), (length kb - 1, length
(kb!!0)
- 1))
[((i, j), c) | (i, r) <- enumerate kb, (j, c) <- enumerate r]
keyboard1 = mkKeyboard kb1
[((i, j), c) | (i, r) <- enumerate kb, (j, c) <- enumerate r]
keyboard1 = mkKeyboard kb1