지그 제그를 따라가며, 해당하는 Row에 문자열을 더한 후 최종적으로 해당 배열을 join해 반환하면 되는 문제이다.
function convert(s: string, numRows: number): string {
if(numRows === 1) return s
const row = Array(numRows).fill("")
let currentRow = 0
let isDownDirect = false
for(const char of s) {
row[currentRow] += char
if(currentRow === 0 || currentRow === numRows - 1) {
isDownDirect = !isDownDirect
}
currentRow += isDownDirect ? 1 : -1
}
return row.join("")
};