[LeetCode] 54. Spiral Matrix
여전히 쓸데없는 실수가 잦다. 재귀를 이용했고, 방문 지점을 음수로 덮어서 처리하려그랬는데, matrix에 값이 -100~100 까지인지를 안보고 했다가 Submit 한번을 날렸다. 그 외에도 놓친 부분이 많았다. 재귀를 써도 되고, 메모리를 줄이고 싶다면 for loop도 충분히 가능한 문제로 보인다. class Solution { vector result; int direction[4][2] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} }; int cur_direction = 0; public: void dfs ( int y, int x, vector& matrix ) { result.push_back(matrix[y][x]); matrix[y][x] = -999; int nex..
2021. 3. 30.
[LeetCode] 6. ZigZag Conversion
실수가 좀 잦은 것 같다. numRows 내에서 첫줄과 마지막줄은 고정 크기만큼 jump 가 가능하며 그 중간에서의 Jump size만 계산하면 되는 문제다. 근데 Jump Size가 0으로 나오는 경우를 처리하지 않아서 제출횟수를 좀 날렸다. class Solution { public: string convert(string s, int numRows) { // ( numRows - 2 ) * 2 // 3 : 4, 2, 4 // 4 : 6, (4,2,4,2.. ), (2,4,2,4...), 6 // 5 : 8, (6,2,6,2...), (4,4,4,4..), (2,6,2,6...), 8 int std_gap = ( numRows - 2 ) * 2 + 2; // standard gap int input_..
2021. 3. 26.