3시간여의 씨름끝에 완전 어거지로 코딩을 완성했는데 진짜 마음에 들지가 않네요 ㅠㅠ
결과는 어쨌든 제대로 나옵니다만, 너무 어거지로 끼워 맞춘 느낌이 강하네요...
int i, j;
int[][] arr=new int[5][5];
i=0;
j=0;
int num=1, d=1,n=1,m=0,j1=0,i1=1,t=4;/*num은 증가되어 배열에 저장되는 값의 변수, d는 방향을 지정하는 변수,
n은 반복횟수를 카운트하는 변수, m은 for문의 조건지정용 변수, j1,i1은 좌표저장용 변수, t는 반복횟수를 지정하는 변수...
*/
while(num<=25){
if(num==25)
t=0;
for(j=j1,m=0;m<=t;j+=d,m++){
if(arr[i][j]==0){
arr[i][j]=num;
num++;
}
else{
continue;
}
}
if(j>4)
j=4;
else if(j<0)
j=0;
j1=j;
t--;
for(i=i1,m=0;m<=t;i+=d,m++){
if(arr[i][j]==0){
arr[i][j]=num;
num++;
}
else{
continue;
}
}
if(i>4)
i=4;
else if(i<0)
i=0;
i1=i;
n++;
if(n%2==0)
d=-1;
else
d=1;
}
for(i=0;i<=4;i++){
for(j=0;j<=4;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println("");
}
이렇게 코딩을 했는데 조금더 간략하고 정확하게 수정할 방법이 없을까요??
조건문과 반복문, 배열만을 이용한 거라
구글링으로 찾아본 예시들은 영 이해가 안가서요...