Problem 42816. Sorting integers by their digits (Level 4)
This is the next step up from Problem 42815.
Given a vector, v, of complex numbers (negative or positive), return a vector, w, by sorting v in ascending order, such that primary sorting is done by the first digit (representing the largest value), secondary sorting by the second digit (next largest value), and so on.
Once all real digits have been used for sorting, it should continue with the imaginary part, which are further down the order.
v = [14.38 210+69i 80.42 3.14 0-15i 268 -14.38 210+64i 0+15i 1 80.44];
w = [0-15i 0+15i 1 -14.38 14.38 210+64i 210+69i 268 3.14 80.42 80.44];
As shown above, in cases of multiple numbers starting with the same digits, such as 1 and 14.38, shorter numbers take precedence.
Negative numbers take precedence over positive numbers.
Imaginary numbers should be treated as if they had a leading zero, because they have a zero real part.
Solution CommentsShow comments
Problem Recent Solvers36