이 글은 Obsidian에서 마이그레이션되었으며, 그 과정에서 AI의 도움을 받았습니다. 오류나 누락된 내용이 있다면 댓글로 알려주세요!
문제
풀이
아이디어
문제의 내용을 그대로 구현하는 시뮬레이션 방식
코드
function convert(s: string, numRows: number): string {if (numRows === 1 || s.length <= numRows) return s;const answer: string[][] = Array.from({length: numRows}, () => []);let ptr = 0;let dir: 'inc' | 'dec' = 'inc';for (let idx = 0; idx < s.length; idx++) {answer[ptr].push(s[idx]);if (ptr === 0) dir = 'inc';else if (ptr === numRows - 1) dir = 'dec';if (dir === 'inc') ptr++;else ptr--;}return answer.map((row) => row.join('')).join('');};
end