/ nauka programowania

Coding Challenge 3

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 #3 w ramach którego przygotowaliśmy dla Ciebie:

Zadanie nr 1 (Folder w repozytorium 05):

Jednym ze sposobów na skonstruowanie zarówno bezpiecznego, jak i łatwego do zapamiętania hasła, jest wymyślenie sobie pewnej frazy lub zdania oraz utworzenie hasła poprzez wyodrębnienie pierwszej litery każdego słowa.

Jeszcze lepiej jest zastąpić niektóre z tych liter liczbami (np. literę “O” można zastąpić cyfrą 0).

W ramach tego zadania utwórz funkcję, która na podstawie dostarczonej frazy, utworzy hasło zgodnie z powyższym opisem.

Dodatkowo w ramach działania funkcji:

zamiast włączania do hasła litery i lub I umieszczamy cyfrę 1,
zamiast wlączania do hasła litery o lub O umieszczamy cyfrę 0,
zamiast włączania do hasła litery s lub S umieszczamy cyfrę 5.

Na przykład:

Sto lat, sto lat niech żyje żyje nam! możemy zamienić na 5l5lnżżn

Zadanie nr 2 (Folder w repozytorium 06):

W fabryce drukarka drukuje etykiety na pudełka. Dla jednego rodzaju pudełek drukarka musi używać kolorów, które dla uproszczenia są nazywane literami od “a” do “m”.

Kolory używane przez drukarkę są zapisywane w ciągu kontrolnym. Na przykład prawidłowy ciąg kontrolny, to “aaabbbbhajjjm” co oznacza, że drukarka użyła trzykrotności koloru “a”, czterokrotności koloru “b”, jednokrotność koloru “h”, jednokrotność koloru “a” itd.

Czasami jednak występują problemy: brak kolorów lub awaria techniczna i w związku z tym generowany jest błędny ciąg kontrolny np. aaaxbbbbyyhwawiwjjjwwm.

Utwórz funkcję printError, która na podstawie podanego parametru ciągu kontrolnego, wyprowadzi wskaźnik błędu drukarki jako ciąg, którego licznikiem jest liczba błędów, a mianownikiem długość ciągu kontrolnego.

Na przykład:

s="aaabbbbhaijjjm"
printError(s) => "0/14"

s="aaaxbbbbyyhwawiwjjjwwm"
printError(s) => "8/22"

Zakładamy, że generowany ciąg kontrolny ma długość większą lub równą 1 i zawiera litery od “a” do “z”.

Kod niezbędny do wykonania challeng’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 2

Tutaj znajdziesz zadania z poprzedniego Coding Challenge