시계방향(또는 시계반대방향)으로 채워진 배열을 달팽이 배열이라 한다.
시계방향으로 순환적인 모습으로 반복된다.
시계방향으로 순환적인 모습으로 반복된다.
오라클자바커뮤니티에서 설립한 오엔제이프로그래밍
실무교육센터
(신입사원채용무료교육, 오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷)
//달팽이 배열
class Dal {
int[][] a = new int[20][20];
int h=0, y=-1; //행, 열
int suja=0; //채워질 숫자
void fill(int value, int banghyang) {
if (value ==0) return;
for(int i=0; i<2*value-1; i++) {
if (i < value) y += banghyang;
else h += banghyang;
a[h][y] = ++suja;
}
fill(value-1, -banghyang);
}
public static void main(String[] args) {
if (args.length<1) {
System.out.println("Usage : java Dal number ");
System.exit(1);
}
int value = Integer.parseInt(args[0]);
Dal d = new Dal();
d.fill(value, 1);
for(int i=0; i<value; i++) {
for(int j=0;j<value; j++) {
if (d.a[i][j] < 10) System.out.print(" ");
else System.out.print(" ");
System.out.print(d.a[i][j]);
}
}
}
}
댓글 없음:
댓글 쓰기