Menu
Coddy logo textTech

Recapitulação: Ordenação de Leaderboard

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 26 de 68.

challenge icon

Desafio

Fácil

Você receberá duas entradas: primeiro, um array associativo de nomes de jogadores e suas pontuações no formato JSON, e segundo, uma ordem de classificação (seja "asc" ou "desc"). Leia ambas as entradas, converta a string JSON em um array, ordene o placar pelas pontuações de acordo com a ordem especificada e imprima o nome e a pontuação de cada jogador em uma linha separada no formato: Name: Score

Use asort() para ordem crescente e arsort() para ordem decrescente para manter as associações dos nomes dos jogadores com suas pontuações.

Formato de entrada:

  • Primeira linha: objeto JSON com nomes de jogadores como chaves e pontuações como valores (exemplo: {"Alice":1500,"Bob":2300,"Charlie":1800,"Diana":2100})
  • Segunda linha: Ordem de classificação - seja asc ou desc

Saída esperada: O nome e a pontuação de cada jogador em uma linha separada no formato Name: Score, ordenados de acordo com a ordem especificada

Experimente você mesmo

<?php
// Lê a entrada JSON
$jsonInput = fgets(STDIN);
$leaderboard = (array)json_decode($jsonInput, true);

// Lê a ordem de ordenação
$order = trim(fgets(STDIN));

// TODO: Escreva seu código abaixo para ordenar a tabela de classificação com base na ordem


// Exibe o nome e a pontuação de cada jogador
foreach ($leaderboard as $name => $score) {
    echo "$name: $score\n";
}
?>

Todas as lições de Lógica & Fluxo