💡 코딩 테스트 문제에서 단골 출제되는 위치 이동법에 대한 공식에 대해 알아보자 여러 코딩 테스트 문제에서 2차원 배열이 주어지고 위치를 이동하라는 문제가 많이 출제된다. 위치 이동은 현재 위치에서 인접한 동, 서, 남, 북 네 방향으로 이동하라는 경우 또는 체스 말 나이트의 이동 등 여러 경우가 주어진다. 체스 말을 예시로 들어 이동 시, 공식에 대해 정리해본다. ✏️ 킹의 이동 int[][] map = new int[N][M]; // 동, 서, 남, 북 int[] dx = {0, 0, -1, 1}; int[] dy = {1, -1, 0, 0}; int cx = 0, cy = 0;// 주어진 map의 현재 위치에서 x, y 좌표 for(int d = 0; d < 4; d++) { // 이동하고자 하는 ..
🔎 다익스트라(Dijkstra) 알고리즘이란? 다익스트라(Dijkstra) 알고리즘은 다이나믹 프로그래밍(Dynamic Programming)을 활용한 최단 경로 탐색 알고리즘이다. 해당 알고리즘은 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 구할 때 사용한다. 🔎 다익스트라(Dijkstra) 알고리즘은 왜 다이나믹 프로그래밍(Dynamic Programming) 문제인가? 다익스트라(Dijkstra) 알고리즘은 최단 경로 탐색은 '최단 거리는 여러 개의 최단 거리로 이루어져 있다.' 라는 접근 방식을 사용한다. 작은 문제가 큰 문제의 부분 집합에 속해있다 볼 수 있으므로 다이나믹 프로그래밍(Dynamic Programming) 문제로 분류된다. 다익스트라(Dijkstra) 알고리즘은 하..
- Total
- Today
- Yesterday