Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

paulolorenzobasilio/hackerrank-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

hackerrank-php

List of solved Hackerrank challenges in PHP language

Practice > Algorithms > Warmup

function solveMeFirst($a,$b){
	return $a + $b;
}
function simpleArraySum($ar) {
 $sum = 0;
 foreach($ar as $value){
 $sum+=$value;
 }
 return $sum;
}
function compareTriplets($a, $b) {
 $length = count($a);
 $aliceScore = 0;
 $bobScore = 0;
 for($i=0; $i<$length; $i++){
 if($a[$i] == $b[$i]){
 continue;
 }
 if($a[$i] > $b[$i]){
 $aliceScore++;
 continue;
 }
 $bobScore++;
 }
 return [$aliceScore, $bobScore];
}
function aVeryBigSum($ar) {
 $sum = 0;
 foreach($ar as $value){
 $sum+=$value;
 }
 return $sum;
}
function diagonalDifference($arr) {
 $length = count($arr);
 $primaryDiagonal = 0;
 $secondaryDiagonal = 0;
 $lastIndex = $length - 1;
 for($i = 0; $i<$length; $i++){
 $primaryDiagonal+=$arr[$i][$i];
 $secondaryDiagonal+=$arr[$i][$lastIndex--];
 }
 return abs($primaryDiagonal - $secondaryDiagonal);
}
function plusMinus($arr) {
 $POSITIVES = 0;
 $NEGATIVES = 1;
 $ZEROES = 2;
 $length = count($arr);
 // declare the temp numbers to index positions
 $numbers = [0, 0, 0];
 // determine the plusMinus of the numbers
 foreach($arr as $val){
 if($val === 0){
 $numbers[$ZEROES] = $numbers[$ZEROES] + 1;
 continue;
 }
 if($val > 0){
 $numbers[$POSITIVES] = $numbers[$POSITIVES] + 1;
 continue;
 }
 $numbers[$NEGATIVES] = $numbers[$NEGATIVES] + 1;
 }
 $plusMinusArr = array_map(function ($number) use ($length) {
 return number_format($number/$length, 6);
 }, $numbers);
 foreach($plusMinusArr as $plusMinus){
 echo $plusMinus;
 echo "\n";
 }
}
function staircase($n) {
 $totalSteps = $n;
 $staircase = [];
 // start from the right steps
 for($n; $n>0; $n--){
 $stairs = [];
 // proceed from left stair until the reach the final stair steps
 // then gradually increase the starting stair
 for($i=1; $i<=$n; $i++){
 // if it reached the final step print the stairs "#" else the its spaces
 if($i == $n){
 // calculate the total stairs to print
 $totalPrintOfStairs = ($totalSteps - $n) + 1;
 for($totalPrintOfStairs; $totalPrintOfStairs>0; $totalPrintOfStairs--){
 array_push($stairs, "#");
 }
 array_push($staircase, $stairs);
 break;
 }
 array_push($stairs, "");
 }
 }
 // print the staircases
 foreach($staircase as $stairs){
 foreach($stairs as $stair){
 echo $stair;
 }
 echo "\n";
 }
}
function miniMaxSum($arr) {
 $maxSumTempArr = $arr;
 $minSumTempArr = $arr;
 // sort into ascending order and get the first four values
 sort($minSumTempArr);
 $minSumArr = array_splice($minSumTempArr, 0 ,4);
 // sort into descending order and get the first four values
 rsort($maxSumTempArr);
 $maxSumArr = array_splice($maxSumTempArr, 0, 4); 
 echo array_sum($minSumArr) . '' . array_sum($maxSumArr);
}
function birthdayCakeCandles($ar) {
 // count the recurring of the candle
 $candles = array_count_values($ar);
 // sort the recurring candle by descending & get the most recurring candle
 krsort($candles);
 $candlesBlowsValue = array_values($candles);
 return $candlesBlowsValue[0];
}
function timeConversion($s) {
 $strToTime = strtotime($s);
 return date('H:i:s', $strToTime);
}
function gradingStudents($grades) {
 $MODULO = 5;
 $finalGrades = [];
 $finalGrades = array_map(function($grade) use ($MODULO){
 // get the next multiplier by 5
 $nextMultiplier = $grade + ($MODULO - $grade % $MODULO);
 $difference = $nextMultiplier - $grade;
 // do not round up if grade less than 40 
 // the difference is 3 and greater than 3
 if($nextMultiplier < 40 || $difference === 3 || $difference > 3){
 return $grade;
 }
 
 // round up if the difference is less than 3
 return $nextMultiplier;
 }, $grades);
 return $finalGrades;
}

About

List of solved Hackerrank challenges in PHP language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /