처음에는 문제를 잘못 읽어서 '단순하다 = 한 번 방문한곳을 또 방문한다'라고 이해하는 바람에 계속 답이 안나왔다. 문제를 올바르게 읽는 것의 중요성을 다시 한번 실감했다...
문제 잘못 읽었더니 30분 넘게 소비해버렸다..
이 문제는 dfs방식으로 visited배열을 사용하여 한 번 방문한 곳을 방문하지 않으면서, 총 N번 이동하면 된다. visited배열은 로봇이 최대 14번 이동이 가능하므로 (15, 15)위치에서 로봇이 출발한다고 할 때,
로봇이 움직일 수 있는 범위는 (15, 15)에서 상하좌우 +14, -14 일 것이다.
따라서 visited의 크기를 다음과 같이 잡았다.
boolean[][] visited = new boolean[30][30];
문제를 제대로 다시 읽고나니 전형적인 dfs로 정말정말 쉽게 풀 수 있는 문제였다.
소스코드 :
'BOJ' 카테고리의 다른 글
[백준 2491번] 수열 (java) (0) | 2021.03.19 |
---|---|
[백준 1949번] 우수 마을 (java) (0) | 2021.03.19 |
[백준 13458번] 시험 감독 (java) (0) | 2021.03.18 |
[백준 10971번] 외판원 순회 2 (java) (0) | 2021.03.18 |
[백준 1561번] 놀이 공원 (java) (0) | 2021.03.16 |