6. Zigzag Conversion
2025-08-22
LeetCode 6번 풀이
이 글은 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('');
};