Wyzwanie: częstotliwość znaków
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 66 z 68.
Wyzwanie
ŁatwyOtrzymasz jedno wejście: ciąg tekstu.
Wejściem będzie ciąg w tym formacie: hello world
Odczytaj wejściowy ciąg. Policz częstotliwość występowania każdego znaku w ciągu (bez rozróżniania wielkości liter), pomijając spacje. Zapisz częstotliwości znaków w tablicy asocjacyjnej, w której kluczami są znaki, a wartościami ich liczby wystąpień.
Posortuj tablicę asocjacyjną według klucza w porządku alfabetycznym rosnącym, używając ksort().
Wypisz każdy znak i jego częstotliwość w następującym formacie:
[character]: [count]
Wypisz każdą parę znak–częstotliwość w osobnym wierszu, w kolejności alfabetycznej.
Format wejściowy:
- Jeden wiersz zawierający ciąg tekstu (przykład:
hello world)
Oczekiwany wynik: Każdy znak i jego częstotliwość wypisane w osobnym wierszu w formacie: [character]: [count], posortowane alfabetycznie według znaków
Spróbuj swoich sił
<?php
// Odczytaj dane wejściowe
$text = trim(fgets(STDIN));
// TODO: Napisz swój kod poniżej
// 1. Zamień ciąg znaków na małe litery
// 2. Policz wystąpienia poszczególnych znaków (z pominięciem spacji)
// 3. Posortuj tablicę według kluczy za pomocą ksort()
// 4. Wypisz każdy znak i liczbę jego wystąpień
?>Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką7Praca z datami i czasem
Funkcja 'date()'Znaczniki czasu Unix za pomocą 'time()'Wprowadzenie do obiektu DateTimeFormatowanie obiektów DateTimeModyfikowanie obiektów DateTimePodsumowanie: obliczenia na datach10Końcowe wyzwania
Wyzwanie: sprawdzanie palindromuWyzwanie: częstotliwość znakówWyzwanie: suma w koszykuWyzwanie: filtrowanie unikalnych elementów2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online