Skip to content

Commit 15172d0

Browse files
committed
Solve 'Array - squareUp b!' kata
1 parent 4ed4068 commit 15172d0

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/ArraySquareUp.hs

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module ArraySquareUp (squareUp) where
2+
3+
-- https://www.codewars.com/kata/5a8bcd980025e99381000099/train/haskell
4+
5+
squareUp :: Int -> [Int]
6+
squareUp n = concatMap (pattern' n) $ [1 .. n]
7+
8+
pattern' :: Int -> Int -> [Int]
9+
pattern' size n
10+
| n == 1 = padding ++ [1]
11+
| otherwise = padding ++ [n, n - 1 .. 1]
12+
where
13+
padding = replicate (size - n) 0

test/ArraySquareUpSpec.hs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module ArraySquareUpSpec (spec) where
2+
3+
import ArraySquareUp (squareUp)
4+
import Test.HUnit (assertEqual)
5+
import Test.Hspec
6+
7+
spec :: Spec
8+
spec = do
9+
it "example tests" $ do
10+
assertEqual "squareUp 2" [0, 1, 2, 1] $ squareUp 2
11+
assertEqual "squareUp 3" [0, 0, 1, 0, 2, 1, 3, 2, 1] $ squareUp 3
12+
assertEqual "squareUp 4" [0, 0, 0, 1, 0, 0, 2, 1, 0, 3, 2, 1, 4, 3, 2, 1] $ squareUp 4

0 commit comments

Comments
 (0)