코딩테스트/배열

[leetCode] 3417. Zigzag Grid Traversal With Skip

minkg3532 2026. 5. 29. 01:29

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함수로 뒤집어 정답 백터에 넣어준다.