4 of 5 added 14 characters in body

Dyalog APL, 24 21 bytes


Try it online!


  • 2⊥⍣¯1⊢⍵ converts each each of the arguments to binary (transposed of what is in the question)
  • turns a 2D array into a vector of vectors
  • {⍵[⍋⍵]}¨ sorts each of the elements of the vector
  • turns the vector of vectors into a 2D array again
  • 2⊥ convert from binary (since it sort of transposes it, we arrive at the correct result)