[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
클라우드 DevOps를 좋아하는 자바 백엔드 개발자입니다

0개의 댓글