Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 060362ec09 | |||
| e28a2bdc67 | |||
| a455b46b72 | |||
| 9ff7d9161e | |||
| 11f8bf5394 | |||
| f722614590 | |||
| fdcde7a855 |
@ -29,3 +29,4 @@ Repository for CDS-2020 Programming and Promt Engineering II
|
||||
|PaginationHelper|kata_pagination_helper.py|test_pagination_helper.py|[515bb423de843ea99400000a](https://www.codewars.com/kata/515bb423de843ea99400000a)|
|
||||
|Who has the most money?|kata_who_the_most_money.py|test_who_the_most_money.py|[528d36d7cc451cd7e4000339](https://www.codewars.com/kata/528d36d7cc451cd7e4000339)|
|
||||
|Next bigger number with the same digits|kata_next_bigger_number_same_digits.py|test_next_bigger_number_same_digits.py|[55983863da40caa2c900004e](https://www.codewars.com/kata/55983863da40caa2c900004e)|
|
||||
|Snail|kata_snail.py|test_snail.py|[521c2db8ddc89b9b7a0000c1](https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1)|
|
||||
|
||||
86
src/codewars/kata_snail.py
Normal file
86
src/codewars/kata_snail.py
Normal file
@ -0,0 +1,86 @@
|
||||
def snail(snail_map):
|
||||
# first list in array is always first. So add it to new list snail and pop it from snail_map
|
||||
snail = [x for x in snail_map[0]]
|
||||
snail_map.pop(0)
|
||||
|
||||
# transpone list and append first list to snail. Then pop firt item of snail_map. Loop till snail_map is empty
|
||||
while len(snail_map) > 0:
|
||||
snail_map = [list(reversed(x)) for x in snail_map]
|
||||
snail_map = [list(row) for row in zip(*snail_map)]
|
||||
|
||||
[snail.append(x) for x in snail_map[0]]
|
||||
snail_map.pop(0)
|
||||
|
||||
return snail
|
||||
|
||||
|
||||
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
||||
array = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
|
||||
print(snail(array))
|
||||
|
||||
"""
|
||||
Konzept:
|
||||
Ziel: 1 2 3 6 9 8 7 4 5
|
||||
|
||||
1 2 3
|
||||
4 5 6
|
||||
7 8 9
|
||||
|
||||
1 2 3
|
||||
|
||||
4 5 6
|
||||
7 8 9
|
||||
|
||||
6 9
|
||||
5 8
|
||||
4 7
|
||||
|
||||
1 2 3 6 9
|
||||
|
||||
5 8
|
||||
4 7
|
||||
|
||||
8 7
|
||||
5 4
|
||||
|
||||
1 2 3 6 9 8 7
|
||||
|
||||
5 4
|
||||
|
||||
4
|
||||
5
|
||||
|
||||
1 2 3 6 9 8 7 4
|
||||
|
||||
5
|
||||
|
||||
1 2 3 6 9 8 7 4 5
|
||||
|
||||
|
||||
Ziel: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
|
||||
|
||||
1 2 3 4
|
||||
5 6 7 8
|
||||
9 10 11 12
|
||||
13 14 15 16
|
||||
|
||||
1 2 3 4
|
||||
|
||||
5 6 7 8
|
||||
9 10 11 12
|
||||
13 14 15 16
|
||||
|
||||
8 12 16
|
||||
7 11 15
|
||||
6 10 14
|
||||
5 9 13
|
||||
|
||||
1 2 3 4 8 12 16
|
||||
|
||||
7 11 15
|
||||
6 10 14
|
||||
5 9 13
|
||||
|
||||
...
|
||||
|
||||
"""
|
||||
@ -0,0 +1,6 @@
|
||||
from pathlib import Path
|
||||
|
||||
base_dir = Path("data")
|
||||
file_path = base_dir / "raw" / "processed.json"
|
||||
|
||||
file_path.mkdir(parents=True, exist_ok=True)
|
||||
10
tests/test_codewars/test_snail.py
Normal file
10
tests/test_codewars/test_snail.py
Normal file
@ -0,0 +1,10 @@
|
||||
from src.codewars.kata_snail import snail
|
||||
|
||||
|
||||
def test_snail():
|
||||
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
||||
|
||||
assert snail(array) == [1, 2, 3, 6, 9, 8, 7, 4, 5]
|
||||
|
||||
array = [[1, 2, 3], [8, 9, 4], [7, 6, 5]]
|
||||
assert snail(array) == [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
Loading…
x
Reference in New Issue
Block a user