Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions Arbisoft/2022 Fresh Grad Test/Solution/text_encode.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
data_array = [
"ABCDE",
"FGHIJ",
"KLMNO",
"PQRST",
"UVWXY",
"Z",
]


def finder(pattern):
last_row, last_col = 0, 0
result = []
answer = ""

for char in pattern:
if char == " ":
answer += "".join(result)
result.clear()
last_row, last_col = 0, 0

for index, alpha_array in enumerate(data_array):
if char in alpha_array:
current_row = index
current_col = alpha_array.index(char)
if last_row < current_row:
direction_count = current_row - last_row
direction = "d" * direction_count
if direction:
result.append(direction)
elif last_row > current_row:
direction_count = last_row - current_row
direction = "u" * direction_count
if direction:
result.append(direction)
if last_col < current_col:
direction_count = current_col - last_col
direction = "r" * direction_count
if direction:
result.append(direction)
elif last_col > current_col:
direction_count = last_col - current_col
direction = "l" * direction_count
if direction:
result.append(direction)

last_row, last_col = current_row, current_col
result.append("#")
break

answer += "".join(result)
result.clear()
return answer


def main():
print(finder("UP YOU GO") == "dddd#u#ddddrrrr#uu#ddllll#dr#drrr#")
print(finder("UP") == "dddd#u#")


main()