Skip to main content

Hacker Rank "Migratory Birds" Solution

Question :--You have been asked to help study the population of birds migrating across the continent. Each type of bird you are interested in will be identified by an integer value. Each time a particular kind of bird is spotted, its id number will be added to your array of sightings. You would like to be able to find out which type of bird is most common given a list of sightings. Your task is to print the type number of that bird and if two or more types of birds are equally common, choose the type with the smallest ID number.
Input Format
The first line contains an integer denoting , the number of birds sighted and reported in the array .
The second line describes  as  space-separated integers representing the type numbers of each bird sighted.
Constraints
  • It is guaranteed that each type is , or .
Output Format
Print the type number of the most common bird; if two or more types of birds are equally common, choose the type with the smallest ID number.
Sample Input 0
6
1 4 4 4 5 3
Sample Output 0
4
Explanation 0
The different types of birds occur in the following frequencies:
  • Type  bird
  • Type  birds
  • Type  bird
  • Type  birds
  • Type  bird
The type number that occurs at the highest frequency is type , so we print  as our answer
Solution :--
<?php
/* Write your PHP code here */
$ar = array(1,4,4,4,5,3);
$type1 = 0;
$type2 = 0;
$type3 = 0;
$type4 = 0;
$type5 = 0;
for($i=0;$i<count($ar);$i++){
if($ar[$i] == 1){
$type1++;
}
elseif($ar[$i] == 2){
$type2++;
}
elseif($ar[$i] == 3){
$type3++;
}
elseif($ar[$i] == 4){
$type4++;
}
elseif($ar[$i] == 5){
$type5++;
}
}
$arsort = array($type1,$type2,$type3,$type4,$type5);
rsort($arsort);
if($arsort[0] > $arsort[1]){
if($arsort[0] == $type1){
echo 1;
}
if($arsort[0] == $type2){
echo 2;
}
if($arsort[0] == $type3){
echo 3;
}
if($arsort[0] == $type4){
echo 4;
}
if($arsort[0] == $type5){
echo 5;
}

}
else{
if($arsort[0] == $type1){
echo 1;
}
if($arsort[0] == $type2){
echo 2;
}
if($arsort[0] == $type3){
echo 3;
}
if($arsort[0] == $type4){
echo 4;
}
if($arsort[0] == $type5){
echo 5;
}
}
?>
Thank you :)

Comments

Popular posts from this blog

PHP Hacker Rank Question "Birthday Cake Candles" solution !

You are in-charge of the cake for your niece's birthday and have decided the cake will have one candle for each year of her total age. When she blows out the candles, she’ll only be able to blow out the tallest ones. Your task is to find out how many candles she can successfully blow out. For example, if your niece is turning   years old, and the cake will have   candles of height  ,  ,  ,  , she will be able to blow out   candles successfully, since the tallest candle is of height   and there are   such candles. Function Description Complete the function  birthdayCakeCandles  in the editor below. It must return an integer representing the number of candles she can blow out. birthdayCakeCandles has the following parameter(s): k : the integer threshold of students on time for class to continue a : an array of integers representing student arrival times Input Format The first line...

PHP Hacker rank Question solution Mini-Max sum in PHP

Given five positive integers, find the minimum and maximum values that can be calculated by summing exactly four of the five integers. Then print the respective minimum and maximum values as a single line of two space-separated long integers. For example,  . Our minimum sum is   and our maximum sum is  . We would print 26 24 Function Description Complete the  miniMaxSum  function in the editor below. It should print two space-separated integers on one line: the minimum sum and the maximum sum of   of   elements. miniMaxSum has the following parameter(s): arr : an array of   integers Input Format A single line of five space-separated integers. Constraints Output Format Print two space-separated long integers denoting the respective minimum and maximum values that can be calculated by summing exactly  four  of the five integers. (The output can be greater than a 32 bi...

Hacker Rank "Breaking the Records" Solution

Question : --------- Maria plays college basketball and wants to go pro. Each season she maintains a record of her play. She tabulates the number of times she breaks her season record for  most points  and  least points  in a game. Points scored in the first game establish her record for the season, and she begins counting from there. For example, assume her scores for the season are represented in the array  . Scores are in the same order as the games played. She would tabulate her results as follows: Count Game Score Minimum Maximum Min Max 0 12 12 12 0 0 1 24 12 24 0 1 2 10 10 24 1 1 3 24 10 24 1 1 Given Maria's scores for a season, find and print the number of times she breaks her records for  most  and  least  points scored during the season. Function Description Complete the  breakingR...