How to resolve the algorithm Top rank per group step by step in the Raku programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Top rank per group step by step in the Raku programming language

Table of Contents

Problem Statement

Find the top   N   salaries in each department,   where   N   is provided as a parameter. Use this data as a formatted internal data structure (adapt it to your language-native idioms, rather than parse at runtime), or identify your external data source:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Top rank per group step by step in the Raku programming language

Source code in the raku programming language

my @data = do for q:to/---/.lines -> $line {
        E10297  32000   D101    Tyler Bennett
        E21437  47000   D050    John Rappl
        E00127  53500   D101    George Woltman
        E63535  18000   D202    Adam Smith
        E39876  27800   D202    Claire Buckman
        E04242  41500   D101    David McClellan
        E01234  49500   D202    Rich Holcomb
        E41298  21900   D050    Nathan Adams
        E43128  15900   D101    Richard Potter
        E27002  19250   D202    David Motsinger
        E03033  27000   D101    Tim Sampair
        E10001  57000   D190    Kim Arlich
        E16398  29900   D190    Timothy Grove
        ---

  $%( < Id      Salary  Dept    Name >
      Z=>
      $line.split(/ \s\s+ /)
    )
}

sub MAIN(Int $N = 3) {
    for @data.classify({ . }).sort».value {
        my @es = .sort: { -. }
        say '' if (state $bline)++;
        say .< Dept Id Salary Name > for @es[^$N]:v;
    }
}


  

You may also check:How to resolve the algorithm Sort numbers lexicographically step by step in the Fōrmulæ programming language
You may also check:How to resolve the algorithm Faulhaber's formula step by step in the RPL programming language
You may also check:How to resolve the algorithm Strip a set of characters from a string step by step in the Clojure programming language
You may also check:How to resolve the algorithm Function definition step by step in the Sather programming language
You may also check:How to resolve the algorithm Bitmap/Read a PPM file step by step in the PicoLisp programming language