Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
28
Task/Top-rank-per-group/Sidef/top-rank-per-group.sidef
Normal file
28
Task/Top-rank-per-group/Sidef/top-rank-per-group.sidef
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
var data = <<'EOF'.lines.map{ (var h = Hash()){<name id salary dept>} = .split(',')...; 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 ? ARGV[0].to_i : "usage: #{__MAIN__} [n]\n".die);
|
||||
|
||||
data.map {|h| h{:dept} }.uniq.sort.each { |d|
|
||||
var es = data.grep { _{:dept} == d }.sort_by{ _{:salary}.to_num }.reverse;
|
||||
say d;
|
||||
n.times {
|
||||
es || break;
|
||||
var e = es.shift;
|
||||
printf("%-15s | %-6s | %5d\n", e{%w(name id salary)});
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue