더북(TheBook)

배열을 바라보는 방법은 여러 가지가 있지만, 단순히 숫자로 이해하기보다는 이렇게 눈으로 인식할 수 있는 이미지로 생각하면 문제를 풀 때 많은 도움이 됩니다. 예를 들어 그림 3-3을 보여주고 2차원 배열로 생성된 데이터가 어떤 모양을 가지는지 확인하라는 문제가 나왔다고 합시다. 이때 배열을 그저 연속적인 자료형 정도로 생각한다면 각 원소마다 0부터 255까지의 수치 중 어느 쪽에 더 가까운지, 그리고 어디에 있는지 매번 값을 보면서 생각해야 하므로 결과를 확인하는 데 시간이 오래 걸립니다. 하지만 배열을 이미지로 생각하면 더욱 빠르게 정보를 이해할 수 있습니다.

한 번 익혀 두면 앞으로 나올 모든 배열 조작 문제, 특히 어떤 모양을 요구하거나 만들어야 하는 문제에서 유용하게 쓸 수 있을 겁니다. 배열의 일부분이 필요하다고요? 이미지의 일부를 자른다고 생각하면 됩니다. 배열을 회전한다고요? 이미지를 회전한다고 생각하면 됩니다. 배열을 조작하는 모든 행동을 이미지를 조작하는 행동으로 생각하면 단순히 데이터를 조작한다고 생각하는 것보다 훨씬 이해하기 쉽고 적용하기 간편합니다.

실제 카카오 코딩 테스트에서 출제된 문제 또한 배열을 이미지처럼 생각하고 회전할 수 있으면 쉽게 풀 수 있지만, 단순하게 모든 경우의 수를 고려하면서 수학적으로 풀면 문제 하나에 1시간 이상 소모하게 됩니다. 쉽게 풀리지 않는 문제가 있다면 개념을 치환해서 생각해보는 것도 하나의 방법입니다.

이 외에 자신의 기준에서 이해하기 쉬운 방법이라면 얼마든지 좋습니다. 주 목적은 문제를 읽고, 주어진 배열을 보고 어떻게 풀 수 있을지에 대해 빠르게 전략을 세우는 것이기 때문에 최대한 상상력을 발휘해봅시다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.