How to resolve the algorithm Top rank per group step by step in the Sidef programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Top rank per group step by step in the Sidef 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 Sidef programming language
Source code in the sidef programming language
var data = <<'EOF'.lines.map{ ~Z .split(',') -> flat.to_h }
Tyler Bennett,E10297,32000,D101
John Rappl,E21437,47000,D050
George Woltman,E00127,53500,D101
Adam Smith,E63535,18000,D202
Claire Buckman,E39876,27800,D202
David McClellan,E04242,41500,D101
Rich Holcomb,E01234,49500,D202
Nathan Adams,E41298,21900,D050
Richard Potter,E43128,15900,D101
David Motsinger,E27002,19250,D202
Tim Sampair,E03033,27000,D101
Kim Arlich,E10001,57000,D190
Timothy Grove,E16398,29900,D190
EOF
var n = (ARGV ? Num(ARGV[0]) : "usage: #{__MAIN__} [n]\n".die)
for d in (data.map {|h| h{:dept} }.uniq.sort) {
var es = data.grep { _{:dept} == d }.sort_by { -Num(_{:salary}) }
say d
n.times {
es || break
printf("%-15s | %-6s | %5d\n", es.shift(){...})
}
print "\n"
}
You may also check:How to resolve the algorithm Modular inverse step by step in the Ring programming language
You may also check:How to resolve the algorithm Polynomial long division step by step in the Kotlin programming language
You may also check:How to resolve the algorithm Hello world/Text step by step in the OOC programming language
You may also check:How to resolve the algorithm Least common multiple step by step in the Brat programming language
You may also check:How to resolve the algorithm Hello world/Standard error step by step in the Lean programming language