鞍点

鞍点

中級

はじめに

日の出と日の入りを眺めるために、家の近くの森にツリーハウスを建てる計画を立てています。

地元の調査会社から、地図の長方形の区画ごとに、そこにあるすべての木の高さを示すデータを入手しました。 ツリーハウスにふさわしい木を見つけるために、地図上の各グリッドを分析する必要があります。

よい木とは、次の2つの条件をどちらも満たす木です。

  • 東と西にあるどの木よりも高いことです。日の出と日の入りをできるだけよく眺められるようにするためです。
  • 北と南にあるどの木よりも低いことです。木を登る量をできるだけ少なくするためです。

説明

あなたの課題は、木の家を建てられそうな木を見つけることです。

データ会社は、木の高さを示すグリッドという形でデータを提供してくれます。 グリッドの行は東西方向を表し、列は南北方向を表します。

条件を満たす木とは、その行で最も高く、かつその列で最も低い木です。

グリッドの中に条件を満たす木がまったくないこともあります。 1本だけ見つかることもあれば、複数見つかることもあります。

次のグリッドには、候補となる木がちょうど1本あります。

      ↓
      1  2  3  4
    |-----------
  1 | 9  8  7  8
→ 2 |[5] 3  2  4
  3 | 6  6  7  1
  • 2行目の値は5、3、2、4です。最も大きい値は5です。
  • 1列目の値は9、5、6です。最も小さい値は5です。

つまり、[2, 1]の地点(行: 2、列: 1)は、木の家を建てるのに絶好の場所です。

鞍点は、どのような順序で返してもかまいません。

ヒント

この演習では、タプルを使って要素の集合を作る必要があります。 タプルの詳細については、タプルをご覧ください。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Visual Basic Exercism

鞍点を始める準備はできましたか?

Exercismに登録すれば、113個の演習、そして本物の人間によるメンタリングとともに、Visual Basicを学んでマスターできます。すべて無料です。