본문 바로가기

Dev Language/LeetCode

[LeetCode] 6. ZigZag Conversion

반응형

오늘의 마지막 문제^^


6. ZigZag Conversion


난이도는 중입니다.


문제는 아래처럼 풀어보았습니다.

class Solution {

public:

    string convert(string s, int numRows) {

        

        if ( s.empty() ) return "";

        

        int pos = 0, curRow = 1;

        int direction = 1;

        

        string strRows[numRows];

        string rsv;

        

        for ( pos = 0; pos < s.size(); pos ++ ) {

            

            strRows[curRow - 1].push_back(s[pos]);

            

            if ( curRow == 1 ) {

                if ( curRow == numRows) {

                    direction = 0;    

                } else {

                    direction = 1; 

                }                

            } else if ( curRow == numRows ) {

                direction = -1;

            } else {

                // nothing to do ...                

            } 


            curRow += direction;            

        }


        for ( pos = 0; pos < numRows; pos ++ ) {

            rsv.append(strRows[pos]);

        }

       

        return rsv;

    }

};


회사에서 오전에 출장 준비를 마치고 연습삼아 몇 문제 풀어보았네요^^


역시 코딩은 재미있습니다. ㅠㅠ


하지만... 속도는 여전히 안나네요... 


반응형