Skip to main content

2D Array

2D Array - DS Hackerrank solutions 

Given a 2D 6×6 Array , :

  1 1 1 0 0 0
  0 1 0 0 0 0
  1 1 1 0 0 0
  0 0 0 0 0 0
  0 0 0 0 0 0
  0 0 0 0 0 0

We define an hourglass in to be a subset of values with indices falling in this pattern in arr's graphical
representation:

  a b c
  d
  e f g

There are hourglasses in , and an hourglass sum is the sum of an hourglass' values. Calculate the
hourglass sum for every hourglass in , then print the maximum hourglass sum.
For example, given the 2D array:

 -9 -9 -9 1 1 1
 0 -9 0 4 3 2
 -9 -9 -9 1 2 3
 0 0 8 6 6 0
 0 0 0 -2 0 0
 0 0 1 2 4 0

We calculate the following hourglass values:

    -63, -34, -9, 12,
    -10, 0, 28, 23,
    -27, -11, -2, 10,
     9, 17, 25, 18

 Our highest hourglass value is from the hourglass:

    0 4 3
    1
    8 6 6

Note: If you have already solved the Java domain's Java 2D Array challenge, you may wish to skip this
challenge.
Function Description
Complete the function hourglassSum in the editor below. It should return an integer, the maximum
hourglass sum in the array.
hourglassSum has the following parameter(s):
arr : an array of integers
Input Format

  Each of the lines of inputs contains space-separated integers .

Constraints

Output Format
Print the largest (maximum) hourglass sum found in .

Sample Input

  1 1 1 0 0 0
  0 1 0 0 0 0
  1 1 1 0 0 0
  0 0 2 4 4 0
  0 0 0 2 0 0
  0 0 1 2 4 0

Sample Output
 19
Explanation

arr contains the following hourglasses:

1 1 1  1 1 0  1 0 0  0 0 0
   1        0       0        0
1 1 1  1 1 0  1 0 0   0 0 0

0 1 0  1 0 0  0 0 0  0 0 0
   1        1        0       0
0 0 2  0 2 4  2 4 4  4 4 0

1 1 1  1 1 0  1 0 0  0 0 0
   0        2        4        4
0 0 0  0 0 2  0 2 0  2 0 0

0 0 2  0 2 4  2 4 4  4 4 0
   0        0         2       0
0 0 1  0 1 2  1 2 4  2 4 0

The hourglass with the maximum sum ( ) is:
2 4 4
   2
1 2 4

Solution of this problem is below:-
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
    int i,j,a[6][6],max=0;
    for(i=0;i<6;i++){
        for(j=0;j<6;j++){
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<4;i++){
        for(j=0;j<4;j++){
            a[i][j]=a[i][j]+a[i][j+1]+a[i][j+2]+a[i+1][j+1]+a[i+2][j]+a[i+2][j+1]+a[i+2][j+2];  //This line is use for to find pattern like hour glass
            
        }   
    }
max=a[0][0];      // and this is use to find max sum 
for(i=0;i<4;i++){ 
for(j=0;j<4;j++){ 
if(max<=a[i][j]){ 
max=a[i][j];      
}
}
}

 printf("%d",max);
 return 0; 
} 

If you have any problem in understanding fell free to comment 


Comments

Popular posts from this blog

Day 2: Conditional Statements: Switch

  Objective In this challenge, we learn about  switch statements . Check out the attached tutorial for more details. Task Complete the  getLetter(s)  function in the editor. It has one parameter: a string,  , consisting of lowercase English alphabetic letters (i.e.,  a  through  z ). It must return  A ,  B ,  C , or  D  depending on the following criteria: If the first character in string   is in the set  , then return  A . If the first character in string   is in the set  , then return  B . If the first character in string   is in the set  , then return  C . If the first character in string   is in the set  , then return  D . Hint:  You can get the letter at some index   in   using the syntax  s[i]  or  s.charAt(i) . Input Format Stub code in the editor reads a single string denoting   from ...

Day 2: Conditional Statements: If-Else

Day 2: Conditional Statements: If-Else || Hackerrank Solution Objective In this challenge, we learn about  if-else  statements. Check out the attached tutorial for more details. Task Complete the  getGrade(score)  function in the editor. It has one parameter: an integer,  , denoting the number of points Julia earned on an exam. It must return the letter corresponding to her   according to the following rules: If  , then  . If  , then  . If  , then  . If  , then  . If  , then  . If  , then  .

Jumping on the Clouds Hackerrank

Jumping on the Clouds solutions in c. Emma is playing a new mobile game that starts with consecutively numbered clouds. Some of the clouds are thunderheads and others are cumulus. She can jump on any cumulus cloud having a number that is equal to the number of the current cloud plus 1  or 2  . She must avoid the thunderheads. Determine the minimum number of jumps it will take Emma to jump from her starting position to the last cloud. It is always possible to win the game. For each game, Emma will get an array of clouds numbered 0   if they are safe or 1 if they must be avoided. For example, c=[0,1,0,0,0,1,0] indexed from 0....6. The number on each cloud is its index in the list so she must avoid the clouds at indexes 1 and 5 . She could follow the following two paths:0 ➜ 2 ➜ 4➜6   or 0 ➜ 2 ➜ 3 ➜ 4 ➜ 6 . The first path takes 3   jumps while the second takes 4 . Function Description Complete the  jumpingOnClouds ...