본문 바로가기

알고리즘/LeetCode

[LeetCode] 6. Zigzag Conversion (Medium)

입력된 string을 지그재그 패턴으로 만들고 차례대로 읽었을 때의 결과를 출력하는 문제입니다.

 

class Solution {
public:
    string convert(string s, int numRows) {
        string answer;
        if(numRows == 1)
            return s;
        for(int i=0;i<numRows;i++)
        {
            for(int j=0; j*(numRows-1)*2 + i < s.size(); j++)
            {
                answer += s[j*(numRows-1)*2 + i];
                if(i != 0 && i != numRows-1 && j*(numRows-1)*2 + 2*(numRows-1)-i < s.size())
                    answer += s[j*(numRows-1)*2 + 2*(numRows-1) - i];
            }
        }
        return answer;
    }
};