[개념, 코드트리] dx, dy 테크닉 5 - 빙빙 돌며 숫자 적기
n * n크기의 정사각형에 숫자 1부터 순서대로 증가시키며, 달팽이 모양으로 채우는 코드를 작성1. 이동하는 위치가 격자를 벗어나지 않는지 확인2. 이미 방문했던 곳은 아닌지 확인3. x, 는 행, 열을 기준으로 한다. 문제 import java.util.Scanner;public class Main { // 행, 열 static int n,m; // 시작 위치 static int x = 0, y = 0; // 진행 방향 -> 0 : 오른쪽, 1 : 아래쪽, 2 : 왼쪽, 3 : 위쪽 static int dir = 0; static int[] dx = new int[] {0, 1, 0, -1}; static int[] dy = new int[] {1, 0, ..
[개념, 코드트리] dx, dy 테크닉 3 - 격자에서의 dx, dy
1행 3열 → 3개 2행 2열 → 3개2행 4열 → 3개3행 3열 → 4개 총 4개의 칸import java.util.Scanner;public class Main { // dx, dy 행, 열 기준으로 정의 static int[] dx = new int[] {0, 1, 0, -1}; static int[] dy = new int[] {1, 0, -1, 0}; // 범위 지정 static boolean inRange(int x, int y) { return (1 1행 2열 이런 식으로 상하좌우 탐색 int nx = i + dx[dir]; int ny = j + dy[dir]; ..
[개념, 코드트리] dx, dy 테크닉 1 - 방향에 맞춰서 이동
시뮬레이션명령에 맞게 동작하는 코드를 작성하는 것 dx, dy 테크닉 특정 방향에 대해 이동하는 경우에 대해서 dx, dy 테크닉을 많이 사용한다.각 방향에 따라 dx, dy를 적어주면 된다. (x,y)의 행, 열 기준이 아닌 동, 서, 남, 북 기준으로 정해주었다. 동쪽의 방향으로 갈 땐 (1, 0)서쪽의 방향으로 갈 때 (-1, 0)남쪽의 방향으로 갈 때 (0, -1)북쪽의 방향으로 갈 때 (0, 1) 위로 3칸, 오른쪽으로 2칸, 아래로 1칸 이동 후 오른쪽으로 다시 2칸 이동하면 최종 위치는 (4,2)가 된다.import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner ..