Niepotrzebna i skomplikowana historia
Chodzę po Manhattanie, blok po bloku, a moje stopy są zmęczone i chcę wracać do domu.
Ruch uliczny jest dość duży, ale na szczęście jestem bardzo bogaty i mam w hotelu helikopter w gotowości. Ale potrzebuję, aby wiedzieli, ile paliwa trzeba spakować na lot, i dlatego muszą znać moją bezpośrednią odległość od hotelu. Pamiętałem, które bloki przeszedłem i mogę im powiedzieć, jaką trasę wybrałem. Odległość ta musi być jednak precyzyjna, jeśli są zbyt krótkie, nie wrócimy zbyt długo i kupiłem paliwo, którego nie mogę użyć.
Czy możesz napisać mi program, który przeliczy to na odległość, którą będą musieli pokonać podczas lotu, aby mnie zabrać?
Specyfikacja:
Napisz mi funkcję, która:
- Akceptuje listę lub ciąg bloków kroczonych względem dowolnej siatki:
- U p, D own, L eft i R ight.
- Może być wielką lub małą literą - np. jeśli jest krótszy w użyciu
uzamiastUiść do przodu. - Nieprawidłowy kierunek ma niezdefiniowane zachowanie - np. kierunek X może spowodować awarię.
- Zwraca liczbę zmiennoprzecinkową / dziesiętną / podwójną, która jest dwukrotnością odległości linii prostej od punktu początkowego.
Dla ilustracji i wyjaśnień:

Moja podróż mogła być równie łatwo nagrana jak "luluu..."lub, ['l','u','l'...]ale musi być zapisana jako góra, dół, lewo, prawo.