北極では、工房を飾るためにクリスマスライトのパネル 🎄✨ を設置しました。
それぞれのライトは、色付きで点灯しているか、消灯しています。
パネルは行列(マトリックス)として表され、各マスは次のいずれかになります:
'.' → ライトが消えている
'R' → 赤いライト
'G' → 緑のライト
エルフたちは、パネルの中に同じ色のライトが 4 つ連続して点灯しており、かつ一直線に並んでいるかどうかを知りたがっています(横 ↔ か縦 ↕ のみ)。消灯しているライト('.')は数えません。
hasFourLights([
['.', '.', '.', '.', '.'],
['R', 'R', 'R', 'R', '.'],
['G', 'G', '.', '.', '.']
])
// true → 赤いライトが横一列に 4 つある
hasFourLights([
['.', 'G', '.', '.'],
['.', 'G', '.', '.'],
['.', 'G', '.', '.'],
['.', 'G', '.', '.']
])
// true → 緑のライトが縦一列に 4 つある
hasFourLights([
['R', 'G', 'R'],
['G', 'R', 'G'],
['G', 'R', 'G']
])
// false → 同じ色のライトが 4 つ連続している箇所はない
注意: 盤面の大きさは任意です。斜め方向は考えません。