diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-11-28 11:25:27 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-28 11:25:27 +0000 |
| commit | 70cf619f7168f4b1d5e936cccbd82a26932a1422 (patch) | |
| tree | f696e6c5fd2f24b45639b968b87c84be63bc7a1e | |
| parent | 12930c58a54374ae451980ef922d339797578e72 (diff) | |
| parent | f5a9f5585542ee68199517ca9bdf474223c4b1dc (diff) | |
| download | perlweeklychallenge-club-70cf619f7168f4b1d5e936cccbd82a26932a1422.tar.gz perlweeklychallenge-club-70cf619f7168f4b1d5e936cccbd82a26932a1422.tar.bz2 perlweeklychallenge-club-70cf619f7168f4b1d5e936cccbd82a26932a1422.zip | |
Merge pull request #9158 from spadacciniweb/PWC-245
PWC-245: Perl ch-1
| -rw-r--r-- | challenge-245/spadacciniweb/perl/ch-1.pl | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/challenge-245/spadacciniweb/perl/ch-1.pl b/challenge-245/spadacciniweb/perl/ch-1.pl new file mode 100644 index 0000000000..358cd2004a --- /dev/null +++ b/challenge-245/spadacciniweb/perl/ch-1.pl @@ -0,0 +1,51 @@ +#!/usr/bin/env perl + +# Task 1: Sort Language +# Submitted by: Mohammad S Anwar +# +# You are given two array of languages and its popularity. +# Write a script to sort the language based on popularity. +# +# Example 1 +# Input: @lang = ('perl', 'c', 'python') +# @popularity = (2, 1, 3) +# Output: ('c', 'perl', 'python') +# +# Example 2 +# Input: @lang = ('c++', 'haskell', 'java') +# @popularity = (1, 3, 2) +# Output: ('c++', 'java', 'haskell') + + +use strict; +use warnings; +use Data::Dumper; + + +my @lang = ('perl', 'c', 'python'); +my @popularity = (2, 1, 3); +order_lang(\@lang, \@popularity); + +@lang = ('c++', 'haskell', 'java'); +@popularity = (1, 3, 2); +order_lang(\@lang, \@popularity); + +@lang = ('c++', 'haskell', 'java', 'perl', 'c', 'python'); +@popularity = (1, 3, 2, 2, 1, 3); +order_lang(\@lang, \@popularity); + +exit 0; + +sub order_lang { + my $lang = shift; + my $popularity = shift; + + my %lang; + foreach my $i (0..$#lang) { + push @{ $lang{ $popularity[$i] } }, $lang[$i]; + } + + printf "language based on popularity: (%s)\n", + join ', ', map { join ', ', @{ $lang{$_} } } + sort { $a <=> $b } keys %lang; +} |
