package transpose

import (
	"strings"
)

const testVersion = 1

func Transpose(inp []string) []string {
	// find the longest length string in the slice
	lng := 0
	for i := range inp {
		if len(inp[i]) > lng {
			lng = len(inp[i])
		}
	}
	ret := make([]string, lng, lng)
	for i := range inp {
		for j := 0; j < lng; j++ {
			if len(inp[i]) > j {
				ret[j] = ret[j] + string(inp[i][j])
			} else {
				ret[j] = ret[j] + " "
			}
		}
	}
	if len(ret) > 0 {
		// Trim the spaces off of the end of the last line
		ret[len(ret)-1] = strings.TrimRight(ret[len(ret)-1], " ")
	}
	return ret
}
