728x90

void moveLeftup(int map[20][20]) {
 int minX=99, minY=99;
 int i,j;
 int graph2[20][20];

 for(i=0;i<n;i++){
  for(j=0;j<n;j++){
   graph2[i][j]=0; // 임시 graph2 초기화
  }
 }

 for(i=0;i<n;i++) {
  for(j=0;j<n;j++) {
   if(map[i][j]) { // 왼쪽 위로 옮기기 위해 X, Y 최소값 찾음
    if(minX>i) minX=i;
    if(minY>j) minY=j;
   }
  }
 }

 for(i=minX;i<n;i++) {
  for(j=minY;j<n;j++) {
   graph2[i-minX][j-minY] = map[i][j]; // map을 graph로 왼쪽 위로 이동
  }
 }
 for(i=0;i<2n;i++){
  for(j=0;j<n;j++){
   map[i][j] = graph2[i][j]; // 다시 graph를 map으로 저장
  }
 }
}

 

728x90

'Algorithm' 카테고리의 다른 글

log3(10) 계산 소스  (0) 2013.10.31
소인수분해 소스  (0) 2013.10.31
2차원 배열 회전  (0) 2013.04.16
퀵소트 문제  (0) 2013.04.07
재귀 없는 퀵소트 (non recursive quick sort)  (0) 2013.04.07

+ Recent posts