https://leetcode.com/problems/zigzag-grid-traversal-with-skip/description/
Zigzag Grid Traversal With Skip - LeetCode
Can you solve this real interview question? Zigzag Grid Traversal With Skip - You are given an m x n 2D array grid of positive integers. Your task is to traverse grid in a zigzag pattern while skipping every alternate cell. Zigzag pattern traversal is defi
leetcode.com
그냥 지그재그로 이중 배열에 대해 순회하는 간단한 문제이다.
더보기
#include <algorithm>
class Solution {
public:
vector<int> zigzagTraversal(vector<vector<int>>& grid) {
vector<int> vec;
for(int i=0; i<grid.size(); i++)
{
vector<int> curvec;
int n = i % 2 == 0 ? 0 : 1;
for(int j=n; j<grid[i].size(); j+=2)
{
curvec.push_back(grid[i][j]);
}
if(n==1)
{
reverse(curvec.begin(), curvec.end());
}
for(int z=0; z<curvec.size(); z++)
{
vec.push_back(curvec[z]);
}
}
return vec;
}
};
짝수인지 확인하여, 짝수 인덱스라면 홀수번째, 홀수 인덱스라면 짝수번째 열을 체크하여 벡터에 담는다. 그리고 홀수번째 행이라면, reverse함수로 뒤집어 정답 백터에 넣어준다.