package shape;

public class MagicSquare {

 public static void main(String args[]){
  int a[][] = new int[5][5];
  int i = 0;
  int j = 2;
  int k = 1;
  while (k <= 25) {
   a[i][j] = k;
   if (k%5 == 0) {
    i = i + 1;
   }else{
    i = i - 1;
    j = j + 1;
    if (i < 0) {
     i = 4;
    }
    if(j > 4){
     j = 0;
    }
   }
   k++;
  }
  for (int k2 = 0; k2 < a.length; k2++) {
   for (int l = 0; l < a.length; l++) {
    System.out.print(a[k2][l]+" ");
   }
   System.out.println();
  }
 }
}




AND


2차원 배열모래시계입니다. 별거 아니에요 ㅎ

package shape;

public class SandWatch {

 public static void main(String[] args) {
  int a[][] = new int[5][5];
  int k = 0;
  int row = 0;
  int center = 5/2 + 1;
  int begin = 0;
  int end = 0;
  for (row = 0; row < 5; row++) {
   if (row < center) {
    System.out.println("up");
    begin = row;
    end = 5 - row;
   }else{
    System.out.println("down");
    begin = 4 - row;
    end = row + 1;
   }
   for (int j = begin; j < end; j++) {
    k = k + 1;
    a[row][j] = k;
   }
  }
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }

 }

}




AND


package shape;

public class Diamond {
 public static void main(String[] args) {
  int a[][] = new int[5][5];
  int k = 0;
  int row = 0;
  int center = 5/2 + 1;
  int begin = 0;
  int end = 0;
  for (row = 0; row < 5; row++) {
   if (row < center) {
    System.out.println("up");
    begin = 2 - row;
    end = row + 3;
   }else{
    System.out.println("down");
    begin = row - 2;
    end = 7 - row;
   }
   for (int j = begin; j < end; j++) {
    k = k + 1;
    a[row][j] = k;
   }
  }
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }
 }
}




AND


앗따 힘들다 ㅎ

package shape;

public class Snails {
 public static void main(String args[]){
  int a[][] = new int[5][5];
  int k = 0;
  int i = 0;
  int j = -1;
  int N = 5;
  int sw = 1;
  while(true){
   for (int p = 0; p < N; p++) {
    System.out.print("1");
    k = k + 1;
    j = j + sw;
    System.out.println(j);
    a[i][j] = k;
   }
   N = N - 1;
   if (N <= 0) {
    break;
   }
   System.out.println(j);
   for (int p = 0; p < N; p++) {
    System.out.print("2");
    k = k + 1;
    i = i + sw;
    a[i][j] = k;
   }
   System.out.println(i);
   sw = sw * (-1);
   first = false;
  }
  System.out.println();
  for (int l = 0; l < a.length; l++) {
   for (int l2 = 0; l2 < a.length; l2++) {
    System.out.print(a[l][l2]+" ");
   }
   System.out.println();
  }
 }
}




AND


package array;

public class Array1 {
 public static void main(String[] args) {
  int a[][] = new int[5][5];
  int k = 0;
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    k += 1;
    a[i][j] = k;
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }
 }
}

지금 정보처리기사 공부중이라 알고리즘 연습중입니다.^^




AND


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class BubbleSort {

 public static void main(String[] args) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int data[] = new int[5]; // 5개의 자료를 입력받아
  int temp = 0; // 임시저장공간
 
  for (int i = 0; i < data.length; i++) {
   System.out.print(i+1+"번째 수 : ");
   data[i] = Integer.parseInt(in.readLine());
  }
  for (int i = 0; i < data.length - 1; i++) {
   for (int j = 0; j < data.length -1 - i; j++) {
    if (data[j] > data[j+1]) {
     System.out.println(j+" "+i);
     temp = data[j]; //스와핑로직, 2개의 변수안의 값의 위치를 바꾸죠..
     data[j] = data[j+1];
     data[j+1] = temp;
    }
   }
  }
  for (int i = 0; i < data.length; i++) {
   System.out.print(data[i]+" "); // 출력
  }
 }

}




AND


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;


public class Dec2Bin {
 public static void main(String args[])throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  StringBuffer vbin = new StringBuffer();
 
  int mok = 0; // 몫
  int nmg = 0; // 나머지
 
  System.out.print("십진수를 입력 : ");
  int dec = Integer.parseInt(in.readLine());
 
  do{
   System.out.println("inside");
   mok = dec/2;
   nmg = dec - (mok * 2);
   vbin.append(nmg); //나머지를 스트링버퍼에 넣습니다.
   dec = mok; // 다시 그 몫을 10진수로 지정하고 계산해줍니다.
   if (mok == 0) { // 몫이 0이될때까지
    break;
   }
  }while(true);
 
  System.out.print(vbin.reverse().toString()); // 이부분은 스트링버퍼를 거꾸로 출력하는 부분.^^
 }
}




AND


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Near {

 public static void main(String[] args) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int ten[] = new int[10];
  int min = 100; // 차이값중 최소값
  int d = 0; //6과의 차이값
  int k = 0; //6과 가까운수
 
  for (int i = 0; i < ten.length; i++) {
   System.out.print(i+"번째 숫자 입력 : ");
   ten[i] = Integer.parseInt(in.readLine());
  }
  for (int i = 0; i < ten.length; i++) {
   d = Math.abs(ten[i]-6); // 절대값구해서 뺀값을 구함
   if (d < min) { // 뺀값이 가장 작은 값을 최소값으로 지정하는 로직
    min = d;
    k = ten[i]; //현재까지 6과 가장 가까운 수를 k에 입력
   }
  }
  System.out.println("가장가까운수 : " + k);
 }

}




AND


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Rank {
 public static void main(String args[])throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int point[] = new int[5]; //점수5개
  int rank[] = new int[5]; // 순위5개
 
  for (int i = 0; i < rank.length; i++) {
   System.out.print("점수 : ");
   point[i] = Integer.parseInt(in.readLine());
   rank[i] = 1;
  }
  for (int i = 0; i < rank.length; i++) {
   for (int j = 0; j < rank.length; j++) {
    if (point[i]<point[j]) { //점수가 클때마다
     rank[i] += 1; //랭크에 1씩 더해준다
    }
   }
  }
  for (int i = 0; i < rank.length; i++) {
   System.out.println(rank[i]+" : "+point[i]); // 출력은 무작위이나 순위가 제대로 정해졌음을 알수있다.
  }
 }
}




AND


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class SelectSort {
 public static void main(String[] args) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  int data[] = new int[5];
  int temp = 0;
  for (int i = 0; i < data.length; i++) {
   System.out.print(i+1+"번째 수 : ");
   data[i] = Integer.parseInt(in.readLine());
  }
 
  for (int i = 0; i < data.length-1; i++) {
   for (int j = i + 1; j  < data.length; j++) {
    if (data[i] > data[j]) {
     temp = data[i];
     data[i] = data[j];
     data[j] = temp;
    }
   }
  }
  for (int i = 0; i < data.length; i++) {
   System.out.print(data[i]+" ");
  }
 }

}




AND