在这项挑战中,您将计算出自己的土地面积。
给定已建好的墙,编写一个程序或函数来计算土地的大小。您将获得一个非空的输入字符串,其中包含一组由您选择的4个不同的字符组成,它们代表“上”,“下”,“左”和“右”四个方向(我将^ v < >
在此挑战中使用)。不可能转180度(<>
或^v
),但您可能会越过墙壁。
您“捕获”土地的方式是用墙壁将其包围。隔离墙本身也被视为您土地的一部分。一些示例将使其更加清晰。我将使用o
被墙壁环绕的土地,x
墙壁本身以及墙壁S
的起点,仅用于说明如何建造墙壁。输出应该是你的土地的总规模(数量o
,x
并且S
在测试情况下)。
Input: >>>>
Land: Sxxxx
Output: 5
Input: <<<^^^>>>vv
Land:
xxxx
xoox
xoox
xxxS
Output: 16
Input: <<<^^^>>>v
Land:
xxxx
x x
x
xxxS
Output: 11
Input: <
Land: xS
Output: 2
Input: >>>>>>vvvvvvvvv<<<<<^^^^>>>>>>>>vvvvvvvvvv<<<<<<<<<<<<<<<^^^^^^^^^>>>vvvvvv<<<<<
Land:
Sxxxxxx
x
x
x
x
xxxxxxxxx
xxxx xoooox x
xoox xoooox x
xoox xoooox x
xoox xxxxxx x
xoox x
xoox x
xxxxxx x
x x
x x
xxxxxxxxxxxxxxxx
Output: 101
Input: >>vvvv>>^^<<<<^
Land:
Sxx
xox
xxxxx
xox
xxx
Output: 17
Input: <<^^^>>>vv
Land:
xxxx
x x
x x
xxS
Output: 11 <- Note, diagonal edges do not close the "loop"
说明:
- 您无需绘制墙,输出仅应为整数
- 输入格式是可选的。您可以使用
<>^v
,,数字列表、、(1, -1, i, -i)
字符列表等字符串ABCD
。
这是代码高尔夫球,因此每种语言中最短的代码将获胜。请记住,即使使用“常规”语言,解释也很重要!
1
您应该更改描述,以便它计算出您封闭的三叶草数量:P
—
fəˈnɛtɪk
@MatthewRoh,嗯。
—
Stewie Griffin
@Stewie哦,是的,这也有关
—
Matthew Roh