본문 바로가기

알고리즘

행렬뒤집기

import java.util.Scanner;
public class Main{
    
    // 1] 10곱하기10 크기 배열
    // 2] 뒤집을게 1이면 0, 0이면 1로 만들어
    // 3] 1행,1열 // 2행,2열 3행 3열 뒤집기
    // 
    // 입력] 뒤집기 횟수 1~10
    // 출력] 맵
    // 설계
    // 1] arr[20][20] 만들어줌
    // 2] n입력 받음
    // 3] for(i=1~n) 돌림
    // 4]   for(j=1~10)arr[i][j]=1,0  arr[1][1] arr[1][2] arr[1][3] arr[1][4] ... arr[1][10]
    // 4]   for(j=1~10)arr[j][i]=1,0  arr[1][1] arr[2][1] arr[3][1] arr[4][1] ... arr[10][1]
    // 4번에서는 0이면 1,1이면 0으로 바꾸는 로직이 들어가야함.
    // 5] arr[i][i]=0이면 1, 1이면 0 로직으로
    public static int[][] arr = new int[20][20];
    public static void main(String[] args){

       // Please Enter Your Code Here
      Scanner scan = new Scanner(System.in);
      
      
      int n = scan.nextInt();
      for(int i=1;i<=n;i++)
      {
        for(int j=1;j<=10;j++)
        {
          if(arr[i][j]==1)
            arr[i][j]=0;
          else
            arr[i][j]=1;
            
          if(arr[j][i]==1)
            arr[j][i]=0;
          else
            arr[j][i]=1;
        }
        if(arr[i][i]==0)arr[i][i]=1;
        else arr[i][i]=0;
      }
      printArr();
      
      scan.close();
    }
    
    public static void printArr()
    {
      for(int i=1;i<=10;i++)
      {
        for(int j=1;j<=10;j++)
        {
          System.out.print(arr[i][j]+" ");
        }System.out.println();
      }
    }
}

'알고리즘' 카테고리의 다른 글

rook  (0) 2019.08.02
maxofarr  (0) 2019.08.01
상자색 칠하기  (0) 2019.08.01
inequal  (0) 2019.08.01
Class President  (0) 2019.08.01