문제 설명
n x m 크기의 자연수로 이루어진 이차원 배열 board와 로봇의 쿼리 명령에 해당하는 queries가 매개변수로 주어집니다. board의 첫 번째 행, 첫 번째 열(가장 왼쪽 위)에서 로봇이 출발한다고 가정할 때, 로봇이 쿼리 명령을 순서대로 수행하면서 얻은 점수의 총합을 반환하는 solution 함수를 작성하시오.
쿼리 명령은 아래와 같이 총 5가지 종류가 있습니다.
Move Up: 위로 1칸 이동합니다. 위로 이동할 수 없다면 현재 위치를 유지합니다.Move Down: 아래로 1칸 이동합니다. 아래로 이동할 수 없다면 현재 위치를 유지합니다.Move Left: 왼쪽으로 1칸 이동합니다. 왼쪽으로 이동할 수 없다면 현재 위치를 유지합니다.Move Right: 오른쪽으로 1칸 이동합니다. 오른쪽으로 이동할 수 없다면 현재 위치를 유지합니다.Get Score: 현재 로봇이 위치한 칸의 원소를 점수로 얻습니다. 로봇의 위치는 변하지 않습니다.
제한 사항
board의 크기n과m은 각각 2 이상 20 이하입니다.n과m은 서로 다를 수 있습니다.board의 각 원소board[i][j]는 1 이상 1,000 이하의 자연수입니다.queries의 길이는 5 이상 1000 이하입니다.queries의 원소는Move Up,Move Down,Move Left,Move Right,Get Score중 하나입니다.queries에Get Score쿼리 명령이 적어도 1번 이상 주어집니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | board | queries | return |
|---|---|---|---|
| 1 | [[10,20,16],[8,6,11],[10,2,12]] | ["Move Left","Move Right","Get Score","Move Right","Move Down"] | 20 |
| 2 | [[13,1,13,8,16],[4,7,20,16,5],[7,3,4,10,13],[9,4,2,15,13]] | ["Move Down","Get Score","Move Down","Move Up","Move Right","Move Right","Move Down","Move Up","Get Score"] | 24 |
| 3 | [[1,8,14],[8,17,13],[7,12,9],[5,13,19]] | ["Get Score","Get Score","Move Down","Move Down","Move Down"] | 2 |
1번 테스트케이스 설명
| query | 로봇 위치(행, 열) | 총점 |
|---|---|---|
| - | (0, 0) | 0 |
| Move Left | (0, 0) | 0 |
| Move Right | (0, 1) | 0 |
| Get Score | (0, 1) | 20 |
| Move Right | (0, 2) | 20 |
| Move Down | (1, 2) | 20 |
2번 테스트케이스 설명
| query | 로봇 위치(행, 열) | 총점 |
|---|---|---|
| - | (0, 0) | 0 |
| Move Down | (1, 0) | 0 |
| Get Score | (1, 0) | 4 |
| Move Down | (2, 0) | 4 |
| Move Up | (1, 0) | 4 |
| Move Right | (1, 1) | 4 |
| Move Right | (1, 2) | 4 |
| Move Down | (2, 2) | 4 |
| Move Up | (1, 2) | 4 |
| Get Score | (1, 2) | 24 |
3번 테스트케이스 설명
| query | 로봇 위치(행, 열) | 총점 |
|---|---|---|
| Get Score | (0, 0) | 1 |
| Get Score | (0, 0) | 2 |
| Move Down | (1, 0) | 2 |
| Move Down | (2, 0) | 2 |
| Move Down | (3, 0) | 2 |