직사각형 배열을 시계 방향으로 90도씩 turns번 회전해요. 회전이 끝난 배열을 행 순서로 읽으면서 각 값에 1부터 시작하는 위치 번호를 곱한 뒤 모두 더해요.
예를 들어 최종 배열이 [[4,1],[5,2],[6,3]]이면 4×1+1×2+5×3+2×4+6×5+3×6을 계산해요. int solution(vector<vector<int>> board, int turns)가 이 합을 반환하도록 잘못된 한 줄을 고쳐 주세요.
매개변수와 반환값
처음 행 수와 열 수는 각각 15이고, 모든 행의 길이는 같아요. 각 값은 0100이에요. turns는 0~5예요. 배열은 비어 있지 않고 값은 중복될 수 있어요. 회전할 때 행과 열의 수가 서로 바뀌어요. 위치 번호는 최종 배열의 행·열 수를 기준으로 매겨요. 반환형은 int예요.
예시
board=[[1,2,3],[4,5,6]], turns=1→77: 최종 배열은[[4,1],[5,2],[6,3]]이고 위 계산의 합이 77이에요.board=[[1,2],[3,4]], turns=2→20: 최종 배열은[[4,3],[2,1]]이고4+6+6+4=20이에요.
자동 채점 입력·출력
첫 줄은 행 수 R, 열 수 C, 회전 횟수예요. 다음 R줄에 C개의 값이 있어요. 계산한 합을 한 줄에 출력해요. main은 채점용이며 수정 대상은 solution의 한 줄이에요.
예시 입력
2 3 1 1 2 3 4 5 6
예상 결과
77
예시 입력
2 2 2 1 2 3 4
예상 결과
20
핵심 개념
simulation-2d: 원본 좌표를 회전 뒤 좌표로 옮겨요.array-2d: 행·열의 길이와 최종 위치 번호를 구분해요.