Monday, March 7, 2022

Data Reverse Python Codewars

Task:

A stream of data is received and needs to be reversed.

Each segment is 8 bits long, meaning the order of these segments needs to be reversed, for example:

11111111  00000000  00001111  10101010
 (byte1)   (byte2)   (byte3)   (byte4)

should become:

10101010  00001111  00000000  11111111
 (byte4)   (byte3)   (byte2)   (byte1)

The total number of bits will always be a multiple of 8.

The data is given in an array as such:

[1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,0,1,0]

Solution:


def data_reverse(data):
    temp = []
    res = []
    for i in range(len(data)//8):
        temp.append(data[i*8:(i+1)*8])

    for item in temp[::-1]:
        res += item
    return res
    
data1 = [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,0,1,0]
print(data_reverse(data1))

Training on Data Reverse | Codewars



Related Posts


No comments :

Post a Comment