관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

반복문과 배열 그리고 예외 처리 17 - 이차원 배열 이어서 본문

프로그래밍 언어/자바

반복문과 배열 그리고 예외 처리 17 - 이차원 배열 이어서

huenuri 2024. 8. 13. 12:16

이차원 배열 문제가 3개 정도 남아있다. 이것만 하면 책에 나온 문제도 풀고 오늘 오전 중으로 이차원 배열을 마무리해볼 것이다. 그리고 오후에는 메소드를 시작해보려고 한다.


 

 

 

 

1. 이차원 배열 세로로 출력하기

이전의 문제는 뒤에 있는 인덱스 값이 변화되었지만 이번 문제는 앞에 있는 인덱스가 먼저 변하고 있다. 혼자서 문제를 풀어보았는데 잘 되지 않았다.


 

 

혼자서 풀어보기

 


 

 

 

 

다시 풀어보기

 

 

이제 출력 방향이 아래쪽으로 되고 있다. 입력만 반대로 하고 출력은 그대로 한다는 것에 주의하자.


 

 

 

 

 

2. 값이 줄어드는 세로형 배열 출력하기

 

 

 

혼자서 풀어보기

 

값이 줄어드게 하는 건 어떻게 하는지 모르겠다. 그리고 21이 오른쪽 밑으로 가야 하는데 이 부분도 적용이 되지 않았다.


 

 

 

 

 

다시 풀어보기

 

이 부분을 이렇게 쓸 수 있다.

 

 

 

 

이렇게 값이 줄어드는 코드를 작성할 때는 바깥쪽 for문에 j값이 줄어들도록 만들어주어야 한다.

 

 

 

 


 

 

 

다른 방향으로 출력해보기 1 : 왼쪽 아래에서 위로 올라가는

 


 

 

 

 

다른 방향으로 출력해보기 2 - 오른쪽 아래에서 위로 올라가는

 

드디어 예제와 똑같은 모양이 되었다. 선생님도 문제를 착각하셔서 다른 답안을 써주셨다. 이 문제 하나 푸는데 한 시간도 훨씬 넘게 걸린 것 같다.

이 부분은 굉장히 어려우므로 꼭 손코딩을 하며 값이 어떻게 들어가는지 확인해보려고 한다. 이제 마지막 문제가 남아있다.


 

 

 

 

3. 짝수와 홀수에 따라 방향 다르게 출력하기

홀수로 시작하면 왼쪽에서 오른쪽으로, 짝수는  오른쪽에서 왼쪽으로 출력하는 배열을 만들어볼 것이다.

 

학습을 마치고

 

 

이렇게 홀수와 짝수에 따라 방향이 달라지는 문제를 풀어보았다. 정말 어려운 문제들이었지만 수업 예제는 모두 풀어보았다. 


 

 

 

학습을 마치고

여기까지 해서 2차원 배열 수업 내용을 모두 정리해보았다. 이제 책으로 나머지 학습을 진행하는 부분이 남아있다. 4교시도 많이 지나서 아침 수업이 얼마 남지 않았지만 집에 가서 나머지 부분을 공부해보려고 한다.

메소드로 가기가 참 힘들다.