The Weekly Challenge - 307

Sunday, Feb 2, 2025| Tags: Perl, Raku

TABLE OF CONTENTS


01. HEADLINES

02. SPONSOR

03. RECAP

04. PERL REVIEW

05. RAKU REVIEW

06. CHART

07. NEW MEMBERS

08. GUESTS

09. TASK #1: Check Order

10. TASK #2: Find Anagrams


HEADLINES


Welcome to the Week #307 of The Weekly Challenge.

Today is the first Monday of the month and time to declare the first champion of the year 2025. With great pleasure, I declare Andreas Mahnke. as Champion of the Month: January. He is relatively new to the team but very consistent. I request Andreas to get back to us with the PayPal account so that we can send the prize money asap.

I would also to take this opportunity to request two past winners, Laurent Rosenfeld and E. Choroba to share PayPal account. Your winning amount is still with us. Just in case, you can reach out to me at perlweeklychallenge@yahoo.com.

Welcome back, Marton Polgar and thanks for sharing solutions in Prolog.

Welcome back, Simon Green and thanks for sharing solutions in Perl and Python alongwith bonus blog post.


Last 5 weeks mainstream contribution stats. Thank you Team PWC for your support and encouragements.

  Week      Perl       Raku       Blog   
   302       39       20       16   
   303       40       18       12   
   304       38       21       13   
   305       42       21       21   
   306       35       16       10   

Last 5 weeks guest contribution stats. Thank you each and every guest contributors for your time and efforts.

  Week      Guests       Contributions       Languages   
   302       12       48       19   
   303       8       37       15   
   304       8       45       19   
   305       9       46       17   
   306       9       40       15   

TOP 10 Guest Languages


Do you see your favourite language in the Top #10? If not then why not contribute regularly and make it to the top.

 1. Python     (3171)
 2. Rust       (840)
 3. Ruby       (767)
 4. Haskell    (743)
 5. Lua        (684)
 6. C          (590)
 7. C++        (585)
 8. JavaScript (530)
 9. Go         (454)
10. BQN        (410)

Blogs with Creative Title


1. Elementary Odd by Arne Sommer.

2. Transposed Games by Jorg Sommrey.

3. Odd Game by Peter Campbell Smith.

4. The Oddest Element by Roger Bell_West.

5. The last odd by Simon Green.


GitHub Repository Stats


1. Commits: 42,131 (+69)

2. Pull Requests: 11,502 (+24)

3. Contributors: 257

4. Fork: 324

5. Stars: 182



With start of Week #268, we have a new sponsor Lance Wicks until the end of year 2025. Having said we are looking for more sponsors so that we can go back to weekly winner. If anyone interested please get in touch with us at perlweeklychallenge@yahoo.com. Thanks for your support in advance.


RECAP


Quick recap of The Weekly Challenge - 306 by Mohammad Sajid Anwar.


PERL REVIEW


If you missed any past reviews then please check out the collection.


RAKU REVIEW


If you missed any past reviews then please check out the collection.


CHART


Please take a look at the charts showing interesting data.

I would like to THANK every member of the team for their valuable suggestions. Please do share your experience with us.


NEW MEMBERS


Please find out How to contribute?, if you have any doubts.

Please try the excellent tool EZPWC created by respected member Saif Ahmed of Team PWC.


GUESTS


Please check out the guest contributions for the Week #306.

Please find past solutions by respected guests. Please share your creative solutions in other languages.


Task 1: Check Order

Submitted by: Mohammad Sajid Anwar

You are given an array of integers, @ints.

Write a script to re-arrange the given array in an increasing order and return the indices where it differs from the original array.

Example 1

Input: @ints = (5, 2, 4, 3, 1)
Output: (0, 2, 3, 4)

Before: (5, 2, 4, 3, 1)
After : (1, 2, 3, 4, 5)

Difference at indices: (0, 2, 3, 4)

Example 2

Input: @ints = (1, 2, 1, 1, 3)
Output: (1, 3)

Before: (1, 2, 1, 1, 3)
After : (1, 1, 1, 2, 3)

Difference at indices: (1, 3)

Example 3

Input: @ints = (3, 1, 3, 2, 3)
Output: (0, 1, 3)

Before: (3, 1, 3, 2, 3)
After : (1, 2, 3, 3, 3)

Difference at indices: (0, 1, 3)

Task 2: Find Anagrams

Submitted by: Mohammad Sajid Anwar

You are given a list of words, @words.

Write a script to find any two consecutive words and if they are anagrams, drop the first word and keep the second. You continue this until there is no more anagrams in the given list and return the count of final list.

Example 1

Input: @words = ("acca", "dog", "god", "perl", "repl")
Output: 3

Step 1: "dog" and "god" are anagrams, so dropping "dog" and keeping "god" => ("acca", "god", "perl", "repl")
Step 2: "perl" and "repl" are anagrams, so dropping "perl" and keeping "repl" => ("acca", "god", "repl")

Example 2

Input: @words = ("abba", "baba", "aabb", "ab", "ab")
Output: 2

Step 1: "abba" and "baba" are anagrams, so dropping "abba" and keeping "baba" => ("baba", "aabb", "ab", "ab")
Step 2: "baba" and "aabb" are anagrams, so dropping "baba" and keeping "aabb" => ("aabb", "ab", "ab")
Step 3: "ab" and "ab" are anagrams, so dropping "ab" and keeping "ab" => ("aabb", "ab")


Last date to submit the solution 23:59 (UK Time) Sunday 9th February 2025.


SO WHAT DO YOU THINK ?

If you have any suggestions or ideas then please do share with us.

Contact with me