안장점

안장점

쉬움

소개

집 근처 숲에 나무 위 집을 지어 해가 뜨고 지는 모습을 보려고 해요.

지역 측량 회사에서 지도의 각 직사각형 구역에 있는 모든 나무의 높이를 알려 주는 데이터를 받았어요.

나무 위 집을 지을 좋은 나무를 찾으려면 지도의 각 격자를 분석해야 해요.

좋은 나무는 다음 두 가지 조건을 모두 만족해요:

  • 동쪽과 서쪽에 있는 모든 나무보다 커야 해요. 그래야 일출과 일몰을 최대한 잘 볼 수 있어요.
  • 나무에 오르는 수고를 최소한으로 줄이려면 북쪽과 남쪽에 있는 모든 나무보다 작아야 해요.

지침

이번 과제는 나무 위 집을 지을 만한 후보 나무를 찾는 거예요.

데이터 회사는 나무의 높이를 나타내는 격자 형태로 데이터를 제공해요. 격자의 행은 동서 방향을, 열은 남북 방향을 나타내요.

조건에 맞는 나무는 자기 행에서 가장 크면서, 자기 열에서는 가장 작은 나무예요.

격자에 조건에 맞는 나무가 하나도 없을 수도 있어요. 하나일 수도 있고, 여러 개일 수도 있어요.

다음은 후보 나무가 딱 하나인 격자예요.

    1  2  3  4
  |-----------
1 | 9  8  7  8
2 | 5  3  2  4  <--- potential tree house at row 2, column 1, for tree with height 5
3 | 6  6  7  1
  • 2번 행에는 5, 3, 2, 4가 있어요. 가장 큰 값은 5예요.
  • 1번 열에는 9, 5, 6이 있어요. 가장 작은 값은 5예요.

따라서 [2, 1] 지점(행: 2, 열: 1)은 나무 위 집을 짓기에 아주 좋은 자리예요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
CFML Exercism

안장점 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 CFML 트랙을 연습 문제 51개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.