[Leetcode] 6. Zigzag Conversion

Algorithm|2021. 11. 18. 14:22
반응형
 

Zigzag Conversion - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

각 row 별로 순서대로 글자를 채우고 마지막에 하나로 합쳤다.

row 가 1인 경우도 제대로 작동할 줄 알았는데, 두 번째 줄로 들어가 버려 오답처리가 됐다.

class Solution {
public:
    string convert(string s, int numRows) 
    {
        vector<string> zig(numRows);
        int n = 1;
        int direct = 1;
        string ans;
        
        
        if(numRows == 1)
            return s;
        
        zig[0].push_back(s[0]);
        
        for(int i=1; i<s.size(); i++)
        {
            
            
            zig[n].push_back(s[i]);
            
            
            if( 0 < n && n < numRows - 1)
            {
                n += direct;
            }
            else
            {
                direct *= -1;
                n += direct;
            }
                
        }
        
        for(int k=0; k<numRows; k++)
        {
            ans += zig[k];
        }
        return ans;
    }
};
반응형

'Algorithm' 카테고리의 다른 글

[Leetcode] 38. Count and Say  (0) 2021.11.19
[Leetcode] 860. Lemonade Change  (0) 2021.11.19
[Leetcode] 551. Student Attendance Record I  (0) 2021.11.18
[백준] 6321. IBM 빼기 1  (0) 2021.11.17
[Leetcode] 844. Backspace String Compare  (0) 2021.11.17

댓글()