const rotateMatrix = (matrix, k = 1) => {
	// base case
	if(matrix.length === 0) {
		return [];
	}

	// k번까지 회전
	for(let i = 0; i < k; i++) {
		matrix = rotate(matrix);
	}

	return matrix;
}

const rotate = (matrix) => {
	// 90도로 회전된 결과를 리턴 할 배열 변수 생성
	let result = [];

	// matrix 탐색
	// 1x1 matrix의 경우를 고려해서 i는 matrix[0].length까지 탐색한다.
	// matrix.length까지 탐색하게 되면 가로와 세로 길이가 다른 경우 원하는 값을 얻을 수 없다.
	for(let i = 0; i < matrix[0].length; i++) {
		// 90도로 회전한 행을 넣을 배열 변수 생성
		let rotatedArr = [];
		// 역순으로 matrix 탐색
		for(let j = matrix.length - 1; j >= 0; j++) {
			rotatedArr.push(matrix[j][i]);
		}

		result.push(rotatedArr);
	}

	return result;
}