Niektórzy z twoich pracowników mają zepsute klawisze Capslock i jesteś zbyt tani, aby je wymienić. Pomóż im, tworząc najkrótszy możliwy program do poprawienia ich pracy! Po prostu przekonwertuj każdy znak w danym ciągu z wielkich na małe i odwrotnie ... ale jest pewien zwrot!
Jesteś również bardzo podekscytowany świętami Bożego Narodzenia! Zostawisz więc mały „błąd”, który nie koryguje liter znajdujących się w ciągach Christmas(bez rozróżniania wielkości liter).
Wkład
Do wprowadzania danych użyjesz jednego łańcucha (lub tablicy bajtów), który może zawierać znaki nowej linii i znaki ascii między 0x20 a 0x7e ( - ~). Nie musisz się martwić o powrót karetki lub inne znaki w łańcuchu.
Wydajność
Wynik powinien zawierać tylko podany ciąg znaków z zamienionymi dużymi i małymi znakami (i oczywiście błąd świąteczny!). Może zawierać maksymalnie jeden dodatkowy biały znak.
Christmas Bug
Wyjaśnijmy to na przykładzie:
Input: i CAN HARDLY WORK LIKE THIS please GET ME A NEW KEYBOARD FOR cHRISTMAS
Output: I Can HaRdly work lIke thiS PLEASE geT Me A new keyboard for ChriStmas
canzawiera „c”, które jest pierwszą literą Bożego Narodzenia, więc to się nie zmienia. Następna litera w Christmasto „h”, która jest w hardly(która również zawiera „r”), więc to się nie zmienia, itd. ChristmasSama ma tylko jedną literę bez zmian, ponieważ do czasu, gdy kod tam osiągnie, faktycznie szuka „s”, a nie „c”.
Gdy sekwencja zostanie znaleziona, powinna zacząć od nowa od „c” i zacząć iterację Christmasjeszcze raz. Więc ChristmasChristmaspozostanie niezmieniony.
Przypadki testowe
Input: Hello World!
Output: hELLO wORLD!
Input: I like pie :)
Output: i LIKE PIE :)
Input: hELP my KeYboarD
iS BROKEN
Output: Help MY kEyBOARd
Is broken
Input: cHRISTMAS IS COMING REALLY SOON!
Output: cHRISTMAS is Coming really soon!
Input: C is the first letter in cHRISTMAS
Output: C IS ThE FIrST LETTER iN ChriSTMAS
Zwycięzca
To jest golf golfowy, więc wygrywa najkrótsza odpowiedź!
Christmassekwencyjnie, więc „h” jest ignorowane, dopóki nie znajdzie „c”, następnie szuka „h”, następnie „r” itd.