Skip to content

Commit 67e875a

Browse files
committed
Initial commit
0 parents  commit 67e875a

10 files changed

+228
-0
lines changed

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

Mini_MaxSum.js

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// https://www.hackerrank.com/challenges/mini-max-sum/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen
2+
3+
[1,3,5,7,9,10,11,12]
4+
5+
function miniMaxSum(arr) {
6+
let minSum = 0;
7+
let maxSum = 0;
8+
9+
arr = arr.sort()
10+
for(let i = 0; i < arr.length - 1; i ++) {
11+
minSum += arr[i];
12+
}
13+
for (let j = 1; j < arr.length; j++) {
14+
maxSum += arr[j];
15+
}
16+
17+
console.log(minSum, maxSum);
18+
}
19+
20+
miniMaxSum([1,2,3,4,5])
21+
miniMaxSum([7, 69, 2, 221, 8974])
22+
23+
24+
25+
26+
27+
function miniMaxSum(arr) {
28+
let sum = 0;
29+
let min = arr[0];
30+
let max = arr[0];
31+
for(let i = 0; i < 5; i ++) {
32+
sum += arr[i];
33+
}
34+
for(let i of arr){
35+
if(i < min){
36+
min = i;
37+
}
38+
if(i > max){
39+
max = i;
40+
}
41+
}
42+
let minSum = sum - max;
43+
let maxSum = sum - min;
44+
console.log(minSum, maxSum);
45+
}
46+
47+
miniMaxSum([1,2,3,4,5])
48+
miniMaxSum([7, 69, 2, 221, 8974])

PlusMinus.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function plusMinus1(arr){
2+
let pos = 0;
3+
let neg = 0;
4+
let zero = 0;
5+
for(let i of arr){
6+
if(i > 0){
7+
pos ++;
8+
}
9+
else if(i < 0){
10+
neg++;
11+
}
12+
else{
13+
zero++;
14+
}
15+
}
16+
console.log(pos/arr.length);
17+
console.log(neg/arr.length);
18+
console.log(zero/arr.length);
19+
}
20+
console.log(plusMinus1([-4,3,-9,0,4,1]))

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# HackerRank-Algos
2+
Algorithms off of HackerRank

Staircase.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// https://www.hackerrank.com/challenges/staircase/problem?h_r=next-challenge&h_v=zen
2+
3+
function staircase(n){
4+
let filledArray = new Array(n).fill(' ');
5+
while (filledArray.indexOf(' ') !== -1) {
6+
filledArray.shift();
7+
filledArray.push('#');
8+
console.log(filledArray.join(""));
9+
n--;
10+
}
11+
}
12+
13+
14+
function staircase1(n){
15+
let newArr = [];
16+
for(let i=0; i< n; i++){
17+
newArr.push(' ');
18+
}
19+
for(let i=0; i< n; i++){
20+
newArr.shift();
21+
newArr.push('#');
22+
console.log(newArr.join(''));
23+
}
24+
}
25+
staircase1(6);

TimeConversion.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// https://www.hackerrank.com/challenges/time-conversion/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen
2+
3+
// 12:40:22AM
4+
// 00:40:22
5+
6+
// 06:40:03AM
7+
// 06:40:03
8+
9+
function timeConversion(s){
10+
let newTime;
11+
let hour = 0;
12+
let sec = "";
13+
let splitStr = s.split(":");
14+
if (s[8] === "P"){
15+
hour = parseInt(splitStr[0]) + 12;
16+
sec = splitStr[2].split("P")[0];
17+
if(hour === 24){
18+
hour = "12";
19+
}
20+
}
21+
else {
22+
hour = splitStr[0];
23+
sec = splitStr[2].split("A")[0];
24+
if(hour === "12"){
25+
hour = "00";
26+
}
27+
}
28+
newTime = hour + ":" + splitStr[1] + ":"+ sec;
29+
return newTime;
30+
}
31+
32+
console.log(timeConversion('12:40:22AM'));

appleAndOrange.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// https://www.hackerrank.com/challenges/apple-and-orange/problem?h_r=next-challenge&h_v=zen
2+
3+
function countAppleAndOranges(s, t, a, b, apples, oranges) {
4+
let applesArr = [];
5+
let orangesArr = [];
6+
let countApples = 0;
7+
let countOranges = 0;
8+
for(let i of apples){
9+
applesArr.push(i+a);
10+
}
11+
for(let i of oranges){
12+
orangesArr.push(i+b);
13+
}
14+
for (let i of applesArr){
15+
if(i >= s && i <= t){
16+
countApples++;
17+
}
18+
}
19+
for (let i of orangesArr){
20+
if(i >= s && i <= t){
21+
countOranges++;
22+
}
23+
}
24+
console.log(countApples);
25+
console.log(countOranges);
26+
return [countApples, countOranges];
27+
}
28+
29+
console.log(countAppleAndOranges(7,11,5,15,[-2,2,1],[5,-6]));

birthDayCake.js

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// https://www.hackerrank.com/challenges/birthday-cake-candles/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen
2+
3+
function birthdayCakeCandles(ar) {
4+
let max = 0;
5+
let height = 0;
6+
for (let i = 0; i < ar.length; i++) {
7+
if (ar[i] > max) {
8+
max = ar[i];
9+
}
10+
for (let j = 0; j < ar.length; j++) {
11+
}
12+
if (ar[j] === max) {
13+
height++;
14+
}
15+
}
16+
return height;
17+
}
18+
19+
console.log(birthdayCakeCandles([3,2,1,3]));

diagonalDifference.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
function diagonalDifference(arr) {
2+
if(arr.length !== arr[0].length){
3+
return null;
4+
}
5+
let firstDiagonal = 0;
6+
let secondDiagonal = 0;
7+
const squareRowCol = arr.length -1;
8+
for(let i = 0; i <= squareRowCol; i++){
9+
firstDiagonal += arr[i][i];
10+
if(i === squareRowCol){
11+
secondDiagonal += arr[0][i];
12+
}
13+
else if(i <= Math.floor(arr.length/2) && i !== 0){
14+
secondDiagonal += arr[squareRowCol-i][i];
15+
}
16+
else if(i > Math.floor(arr.length/2) && i !== squareRowCol){
17+
secondDiagonal += arr[squareRowCol-i][i];
18+
}
19+
else{
20+
secondDiagonal += arr[squareRowCol][0];
21+
}
22+
}
23+
let result = Math.abs(firstDiagonal - secondDiagonal);
24+
return result;
25+
}
26+
27+
console.log(diagonalDifference([[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]));

gradingStudents.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// https://www.hackerrank.com/challenges/grading/problem
2+
3+
// any grade less than for 40 is a failing grade
4+
5+
function gradingStudents(grades) {
6+
let difference = 0;
7+
let newArr = [];
8+
9+
for (let i = 0; i < grades.length; i++) {
10+
difference = 5 - grades[i] %5;
11+
if(grades[i] < 38){
12+
newArr.push(grades[i]);
13+
}
14+
else if(difference < 3){
15+
newArr.push(grades[i] + difference)
16+
}
17+
else{
18+
newArr.push(grades[i]);
19+
}
20+
console.log(newArr[i])
21+
}
22+
return newArr;
23+
}
24+
gradingStudents([73,67,38,33]);

0 commit comments

Comments
 (0)