Coding Challenge #4

Cześć!

Witaj ponownie w serii “Coding Challenge”! Co piątek w ramach tej serii udostępniamy nowe programistyczne wyzwanie. Twoim zadaniem będzie rozwiązanie dwóch zadań. W ramach tego cyklu będziesz miał okazję poćwiczyć swoje umiejętności programowania i rozwiązywania problemów. Do każdego zadania dołączymy zbiór testów, które pozwolą Tobie sprawdzić, czy rozwiązałeś zadanie poprawnie.

Pora na Challenge #4, w ramach którego przygotowaliśmy dla Ciebie:

Zadanie nr 1 (Folder w repozytorium 07):

Zima - czas skoków narciarskich… :) - jesteś skoczkiem (oznaczonym na poniższym rysunku jako “X”).

___X_
***** \
****** \
******* \
******** \
********* \ .____ /

Zima - czas skoków narciarskich… :) - jeśteś skoczkiem (oznaczonym na poniższym rysunku jako “X”).

Twoim zadaniem jest obliczenie odległości, jaką osiągniesz w trakcie swojego skoku. Odległość jest zależna od wysokości skoczni narciarskiej. Każdy element tablicy jest warstwą góry wskazaną na powyższym rysunku - tak więc w naszym przykładzie góra ma wartość 5 (5 rzędów złożonych z gwiazdek). Prędkość, to wysokość góry * 1,5.

Długość Twojego skoku obliczana jest poprzez wzór (wysokość góry * prędkość * 9) / 10.

Długość skoku powinna być prezentowana w odpowiednich jednostkach (X metrów Y centymetrów np. 20.75 prezentowana jest jako 20 metrów 75 centymetrów wraz z dodatkowym komentarzem zgodnie z poniższymi zasadami).

Funkcja powinna zwracać długość skoku, jako ciąg znaków w następującym formacie:

Skok < 10 = 'X metrów Y centymetrów: To było słabe!"
Skok> 10 && < 25 = 'X metrów Y centymetrów: Było blisko dobrego skoku!"
Skok> 10 && < 50 = 'X metrów Y centymetrów: To było dobre!"
Skok> 50 = 'X metrów Y centymetrów: Mamy nowy rekord!"

W przypadku skoku na skoczni narysowanej powyżej, funkcja powinna zwrócić:
“33 metry 75 centymetrów: To było dobre!” - co otrzymujemy poprzez podstawienie następujących wartości do wzoru:

wysokość góry = 5
prędkość = wysokość góry (5) * stały współczynnik (1,5)
długość skoku = 5 * 5 * 1.5 * 9 / 10 = 33.75

Niestety w naszych testach skocznie nie bedą prezentowały się tak ładnie, jak na powyższym rysunku - zastąpi je poniższa tablica:

[*****, ******, *******, ********, *********]

Powodzenia i dalekich skoków!

Zadanie nr 2 (Folder w repozytorium 08):

W ramach tego zadania Twoja funkcja przyjmie tablicę dziesięciu wartości liczbowych (o wartościach od 1 do 26 - istnieje możliwość, że wartości powtórzą się).

Każda liczba odpowiada literze znajdującej się w alfabecie pod indeksem odpowiadającym wartości (np. 1 = A, 2 = B, 3 = C, itd.).

Utwórz funkcję, która sprawdzi czy z Twoich liczb da się utworzyć napis “BINGO” (kolejność liter może być przestawiana tak, by ułożyć ten napis).

W zależności od tego czy uda się utworzyć taki napis - funkcja powinna zwrócić łańcuch znaków “Wygrana”, a kiedy się to nie uda “Przegrana”.

Kod niezbędny do wykonania challenge’u znajdziesz tutaj (foldery 05 i 06): https://bitbucket.org/23_knots/zk-challange/src/master/.

Aby uruchomić kod, należy wykonać polecenie:
npm install

Następnie dopisać brakujący kod funkcji, a na koniec uruchomić testy poleceniem:
npm test

Powodzenia i do usłyszenia w poniedziałek, kiedy to omówimy możliwe rozwiązania.

Coding Challenge 3

Tutaj znajdziesz zadania z poprzedniego Coding Challenge.