Recently, Capgemini, has launced a coding contest. This article will show the solution as proposed by myself for level 1.
Introduction
Recently, Capgemini, has launced a coding contest.This article will show the solution of the first level coding challenge.The challenge(s) can be found here.
The Challenge Question - Level 1

Solution
The below is the solution in C#
using System;
using System.Linq;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var input1 = new int[] { 2, 7, 9, 12, 15, 17, 19, 23, 25, 27, 30 };
var input2 = new int[] { 2, 5, 8, 10, 14, 18, 19, 20, 21, 25, 30, 300, 1, 45, 67, 88 };
var res = CandidateCode.median(input1, input2);
}
}
public class CandidateCode
{
public static int median(int[] input1, int[] input2)
{
var mergedArray = input1.Concat(input2).OrderBy(o=>o).ToArray();
int totalEmployees = mergedArray.Length;
var median = 0.0M;
if (totalEmployees % 2 == 0) //even number of values
{
var p1 = mergedArray[(totalEmployees / 2)-1];
var p2 = mergedArray[((totalEmployees / 2) + 1)-1];
median = Math.Ceiling((decimal)(p1 + p2) / 2);
}
else //odd number of values
{
var p1 = mergedArray[((totalEmployees + 1) / 2) - 1];
median = Math.Ceiling((decimal)p1);
}
return (int)median;
}
}
}
Now let us explain the code.First we are merging the two arrays by using the CONCAT method.Then performing a sort for ordering of the elements.Then based on whether the total empolyees (tokens)are even or odd, we are applying the median formula.
We are using the Math.Ceiling for getting the closest whole number value.
Conclusion
From this program/challenge , we learnt
- how to merge two arrays
- how to apply median based on odd/even values
- use of Math.Ceiling function.
I hope that this will be a good learning exercise for those whose are beginners in C#.Also participating in challenges helps us to hone our skills.Thanks for reading.
Disclaimer: This solution has been personally prepared by me and submitted for the knowledge sharing purpose.