# Transpose Given an input text output it transposed. Roughly explained, the transpose of a matrix: ```text ABC DEF ``` is given by: ```text AD BE CF ``` Rows become columns and columns become rows. See . If the input has rows of different lengths, this is to be solved as follows: - Pad to the left with spaces. - Don't pad to the right. Therefore, transposing this matrix: ```text ABC DE ``` results in: ```text AD BE C ``` And transposing: ```text AB DEF ``` results in: ```text AD BE F ``` In general, all characters from the input should also be present in the transposed output. That means that if a column in the input text contains only spaces on its bottom-most row(s), the corresponding output row should contain the spaces in its right-most column(s). ## Setup Go through the setup instructions for JavaScript to install the necessary dependencies: http://exercism.io/languages/javascript/installation ## Running the test suite The provided test suite uses [Jasmine](https://jasmine.github.io/). You can install it by opening a terminal window and running the following command: ```sh npm install -g jasmine ``` Run the test suite from the exercise directory with: ```sh jasmine transpose.spec.js ``` In many test suites all but the first test have been marked "pending". Once you get a test passing, activate the next one by changing `xit` to `it`. ## Source Reddit r/dailyprogrammer challenge #270 [Easy]. [https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text](https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text) ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.