Gostei do teste,rs e acho que faz sentido.. tanto que parei para resolver, levei uns minutos a mais que 20 minutos, acho importante porque testa logica, porque framework e linguagem qualquer um aprende e se adapta, agora para testar experiencia em pensamento logico, sao estes testes de faculdade que eu entendo que funciona e é justo para medir experiencia sem levar em consideração tecnologia expecifica..
const str = "HELLOWISECODE"
const x = 3
const tamanho = str.length
const linhas = x
const cols = Math.trunc(tamanho / linhas)
const res = []
for (let i = 0; i < linhas; i++) {
const ini = i * cols
let tx = str.slice(ini, ini + cols)
if ((i + 1) % 2 === 0) tx = tx.split("").reverse().join("")
res.push(tx)
}
let inicio = []
let fim = []
if (tamanho % linhas) {
const sobra = str.slice(linhas * cols, str.length)
for (let i = 0; i < sobra.length; i++) {
if ((i) % 2 === 0) {
inicio.push(sobra[i])
} else [
fim.push(sobra[i])
]
}
}
result = inicio.reverse().join("") + res.join("") + fim.join("")
console.log(result)