[CodeUp]誠実なアリ


mingssssss

1.質問




2.コード

import java.util.Scanner;

public class TestCase {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in); // Scanner 선언

		int[][] matrix = new int[10][10]; // 미로 상자 배열 생성

		// 미로 상자 입력
		for (int i = 0; i <= matrix.length - 1; i++) {

			String str = sc.nextLine();
			String[] str_arr = str.split(" ");

			for (int j = 0; j <= matrix.length - 1; j++) {

				matrix[i][j] = Integer.parseInt(str_arr[j]);
			}
		}

		// 성실한 개미 이동 경로 생성
		int x = 1; // 시작 좌표 설정
		int y = 1;

		while (true) {

			if (matrix[x][y] == 2) { // 현재 위치에 먹이가 있는 경우
				matrix[x][y] = 9;
				break;
			} else {
				matrix[x][y] = 9; // 방문 표시
			}
			if (y < 9 && x < 9 && matrix[x][y + 1] != 1) { // 미로 상자 안에서 벽에 부딪히지 않고, 오른쪽에 벽이 없는 경우, 오른쪽으로 이동
				y++;
			} else if (y < 9 && x < 9 && matrix[x][y + 1] == 1 && matrix[x + 1][y] != 1) { // 오른쪽에 벽이 있고, 아래에 벽이 없는 경우, 아래로 이동
				x++;																		
			} else {
				break;
			}

		}

		// 미로 상자 출력
		for (
				int i = 0; i <= matrix.length - 1; i++) {
			for (int j = 0; j <= matrix.length - 1; j++) {
				System.out.printf("%d ", matrix[i][j]);
			}
			System.out.println();
		}

	}

}

3.コメント


入力を受信し、開始座標を設定します(問題を(1,1)にロックします).現在の位置に食べ物がある場合は、すぐにチェックして中断して終了します.そうしないと、9で現在の位置にアクセスします.
箱の中だけの場合、問題条件を満たすif文が書かれています.
Java学習アルゴリズムを学習する過程で、良いウェブサイトを見つけて、基礎100題を解いた.
基本的なアルゴリズムはPythonを勉強しているときに大体知っているので、正解率が最も低い質問に答えることが主です.
コードの仕方はPythonよりも私の考え方に似ています.