Leetcode Java Escape The Ghosts
업데이트:
문제
코드
class Solution {
public boolean escapeGhosts(int[][] ghosts, int[] target) {
int distance = Math.abs(target[0]) + Math.abs(target[1]);
for (int[] ghost : ghosts) {
if (distance >= Math.abs(target[0] - ghost[0]) + Math.abs(target[1] - ghost[1])) {
return false;
}
}
return true;
}
}
결과
설명
- [0, 0]에서 시작해서 귀신들의 위치가 저장된 ghosts의 귀신들보다 빠르게 target에 도달할 수 있는지 검증하는 문제이다.
- 모든 이동은 상하좌우로 1칸씩 이동 가능하다.
-
distance는 현재 위치인 [0, 0]에서 target까지 거리를 저장하기 위한 변수로, target의 x축과 y축의 절댓값의 합을 넣어준다.
- ghosts의 모든 값을 ghost에 넣어 아래를 검증한다.
- distance가 target과 ghost의 x축 y축 차이의 절댓값의 합보다 큰 경우, 귀신이 target에 더 빠르게 도달하므로 false를 주어진 문제의 결과로 반환한다.
- 반복이 완료되면 귀신들보다 빠르게 target에 도달 가능하므로 true를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기