Categories: Java 언어Korean

Java 총 정리[30. 다차원 배열 문제]

문제 풀기 9

이전 걸음으로 다차원 배열을 배웠습니다. 그럼 이론적으로 끝낼 것이 아니라 당연히 문제를 풀어 봄으로써 활용을 잘 할 수 있도록 해야 합니다. 여러분은 다차원 배열에 대해서 이전 걸음에서 공부를 하시고 오셨죠? 그럼 이번 걸음에서 그 다차원 배열에 대한 문제를 풀어 봄으로써 실력이 향상이 될 수 있도록 도와 드리겠습니다.

다차원 배열의 문제는 다차원 배열이 생소하고 적용을 하고 사용을 하는 것에 어려움이 분명 존재를 합니다. 하지만 그렇다고 해서 다차원 배열의 문제를 안하고 지나간다면 다차원 배열을 사용을 하지 못할 것입니다. 이 글을 읽고 문제를 같이 문제를 풀어보신다면 분명히 실력 향상이 되실 수 있습니다.

다차원 배열에서 일명 ㄹ자 배열이라고 불리는 문제를 같이 해보겠습니다. 2차원 배열에 값을 문제에 맞게 넣어주고 그걸 출력 했을 때 배열에 들어가 있는 값이 원하는 결과가 출력이 될 수 있도록 해야 합니다. 이 글을 읽고 문제를 보고 먼저 풀어 보시고 추후에 정답을 확인을 해보시면 좋습니다.

ㄹ자 배열

2차원 배열을 선언 후 1~25까지 차례대로 값을 배열에 대입을 합니다. 대입을 할 때 ㄹ자를 그리면서 값이 들어갈 수 있도록 프로그램을 구현을 하시면 됩니다. 처음에는 0~4열로 진행 그 다음 행에선느 4~0으로 진행을 하면 ㄹ자 모양으로 배열에 값이 대입을 할 수 있습니다. 출력을 하면 숫자의 순서가 ㄹ자로 표현이 됩니다.

출력을 통해서 꼭 확인을 해보셔야 합니다.

※ 정답은 하나가 아닙니다. 문제의 대한 결과가 동작을 한다면 정답입니다. 밑에 나오는 정답은 참고를 하시면 됩니다.

※ 결과에 대한 테스트를 예시로만 하는 것보다 여러가지를 하셔서 생각하는 결과로 나오는 확인을 하시는 것이 더욱 더 좋습니다.

위 문제를 Class를 생성하고 Main문에 소스를 구현해 주세요.

실행 관련 걸음 : 다섯 걸음, 여섯걸음

참고해주세요.



public static void main(String[] args) {
 int count = 1;  
 int[][] a = new int[5][5];

 for(int i = 0;i<a.length;i++) {
  if(i%2 == 0) { //증가
   for(int j = 0;j<a[i].length;j++) {
    a[i][j] = count++;
   }
  }
  else { // 감소
   for(int j = a[i].length-1;j>=0;j--) {
    a[i][j] = count++;
   }
  }
 }
  
 for(int i = 0;i<a.length;i++) {
  for(int j = 0;j<a[i].length;j++) {
   System.out.print(a[i][j]+"\t");
  }
  System.out.println();
 }
}

        

생각을 해보기

다차원 배열의 문제를 처음 풀었지만 구조화 되어 있는 문제는 아니지만 다차원 배열 자체를 적용을 하고 사용을 하면서 익숙해질 수가 있고 또한 간단한 알고리즘 요소를 넣어서 풀어보신다면 다차원 배열과 친숙 해질 수 있습니다.

※ 다른 방법이 없는지 생각을 해보면 실력 향상에 도움이 될 수 있습니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.