주어진 2차원 배열을 다양한 형태로 사용하는 것을 연습해보자.
기본 배열
연습에서 사용할 배열의 기본 형태는 아래와 같이 [4*5]의 char 배열이다.
[A, B, C, D, E]
[F, G, H, I, J]
[K, L, M, N, O]
[P, Q, R, S, T]
배열 탐색
행우선 탐색
기대출력결과: ABCDEFGHIJKLMNOPQRST
열우선 탐색
기대출력결과: AFKPBGLQCHMRDINSEJOT
지그재그탐색
기대출력결과: ABCDEJIHGFKLMNOTSRQP
달팽이탐색
기대출력결과: ABCDEJOTSRQPKFGHINML
방향 탐색
자음의 주변을 + 로 탐색하고 요소의 합을 출력하시오. ('A'=0, 'B'=1, ...)
기대출력결과: 498
모음의 주변을 X로 탐색하고 요소의 합을 출력하시오. ('A'=0, 'B'=1, ...)
기대출력결과: 72
'K'의 사방으로 영역 내에서 모음을 만나기 전까지 모든 자음들을 합해서 출력하세요.('A'=0, 'B'=1, ...)
기대출력결과: 56
모음에서 장기의 말(馬)이동 했을 때 만나는 지점의 합이 가장 큰 알파벳과 그때의 합은? 합이 같다면 큰 알파벳
기대출력결과: I : 48
방향 탐색을 이용해서 달팽이탐색을 수행하시오.
기대출력결과: ABCDEJOTSRQPKFGHINML
배열 변형
새로운 배열 transformed를 만들고 아래 지시사항에 따라 배열을 변형해보자.
상하반전
기대결과:
[P, Q, R, S, T]
[K, L, M, N, O]
[F, G, H, I, J]
[A, B, C, D, E]
좌우반전
기대 결과:
[E, D, C, B, A]
[J, I, H, G, F]
[O, N, M, L, K]
[T, S, R, Q, P]
전치행렬
기대 결과:
[A, F, K, P]
[B, G, L, Q]
[C, H, M, R]
[D, I, N, S]
[E, J, O, T]
시계방향 90도 회전
기대결과:
[P, K, F, A]
[Q, L, G, B]
[R, M, H, C]
[S, N, I, D]
[T, O, J, E]
반시계방향 90도회전
기대결과:
[E, J, O, T]
[D, I, N, S]
[C, H, M, R]
[B, G, L, Q]
[A, F, K, P]
회전 문제의 접근이 어렵다면 아래 그림에서 아이디어를 얻어보자.!