더북(TheBook)

문제 풀이

문제를 읽기만 했는데도 굉장히 난해하네요. 우선 지금까지 봐왔던 2차원 배열의 모습과는 많이 다릅니다. 거기에 더해 반시계 방향으로 돌아가면서 ‘달팽이 채우기’를 한다는 문구에서 배열 탐색을 어떻게 진행해야 할지 막막할 겁니다. 이럴 경우 문제를 풀기 전에 데이터 자체를 읽는 방법, 즉 배열을 보는 방법부터 정하고 시작해야 합니다.

먼저 삼각형 배열에 대한 이야기부터 해볼까요? 문제의 그림에서는 정삼각형으로 배열이 만들어져 있지만, 2차원 배열로 이를 구현하는 것은 불가능합니다. 위치를 직접 계산해서 흉내 낼 순 있지만 짝수와 홀수 위치에 따라 계산 방법이 달라질 것을 생각하면 좋은 접근법이 아닙니다.

대신 한쪽으로 정렬해서 삼각형을 만들면 꼭 정삼각형이 아니더라도 삼각형의 개념 자체는 남아 있기 때문에 문제를 푸는 데 크게 지장이 없습니다.

▲ 그림 3-9 삼각형 배열의 형태

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