[C++] 2차원 배열 회전하기

Namgon·2021년 5월 11일
0

목록 보기
1/3

2차원 벡터 배열 90도 회전

코딩 테스트 공부를 하다가 2차원 배열을 회전하는 함수를 작성해야 했다.
풀이과정에서 만든 함수를 머리속에 익혀두고자 블로그에 남겨본다.

MXM 크기를 가지는 2차원 벡터 배열이 있을 때, 이를 회전하는 함수이다.

/* 2차원 배열을 90도씩 회전하는 함수 */
int m = map.size();

vector<vector<int>> rotate_90(vector<vector<int>> graph) {

	// 회전된 배열을 저장하고 return하는 벡터
    	vector<vector<int>> newGraph(m, vector<int>(m, 0));
        
        for(int i=0;i<m;i++){
        	for(int j=0;j<m;j++){
            	// 시계방향 90도
                newGraph[i][j] = graph[m - j - 1][i];
                // 반시계방향 90도
                newGraph[i][j] = graph[j][m - j - 1];
            }
        }
    	
        return newGraph;

}
profile
make more services :)

0개의 댓글