코드트리 방학 조별과제-두 개의 격자 비교하기

onebbu·2024년 8월 12일
0
post-thumbnail
post-custom-banner

문제

두개의 배열이 주어질때 인덱스가 같을 경우 0, 다를 경우 1 출력

내 풀이방법

  1. 첫번째 배열과 두번째 배열을 Scanner를 통해 입력받음
  2. 배열 두개를 입력받아서 위치에 값이 각각 다를 경우 0배열에서 1로 값을 바꿈

내 코드

import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int [][] firstArr = new int[a][b];
        int [][] secArr = new int[a][b];
        int [][] resultArr = new int[a][b];

        int result = 0;
        
        for(int i=0; i<a;i++){
            for(int j = 0; j<b; j++){
                firstArr[i][j] = sc.nextInt();
            }
        }

        for(int i=0; i<a;i++){
            for(int j = 0; j<b; j++){
                secArr[i][j] = sc.nextInt();
            }
        }

        for(int i=0; i<a;i++){
            for(int j = 0; j<b; j++){
                if(firstArr[i][j] != secArr[i][j]){
                    resultArr[i][j] = 1;
                }
            }
        }

        for(int i=0; i<a;i++){
            for(int j = 0; j<b; j++){
                System.out.print(resultArr[i][j] + " ");
            }
            System.out.println();
        }

        // 배열 두개를 입력받아서 위치에 값이 각각 다를 경우 0배열에서 1로 값을 바꿈

    }
}

모범코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // n, m을 입력받습니다.
        int n = sc.nextInt();
        int m = sc.nextInt();

        // 2차원 배열을 구현합니다.
        int[][] arr1 = new int[10][10];
        int[][] arr2 = new int[10][10];
        int[][] arr3 = new int[10][10];

        // 첫 번째 배열의 입력을 받습니다.
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++)
                arr1[i][j] = sc.nextInt();

        // 두 번째 배열의 입력을 받습니다.
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++)
                arr2[i][j] = sc.nextInt();

        // 두 배열의 같음 여부를 새로운 배열에 담습니다.
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++)
                arr3[i][j] = arr1[i][j] == arr2[i][j] ? 0 : 1;

        // 새로운 배열을 출력합니다.
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < m; j++)
                System.out.print(arr3[i][j] + " ");
            System.out.println();
        }
    }
}
profile
기록하는 습관
post-custom-banner

0개의 댓글