# Subarray Division 2 Hacker Rank Solution Best & Easiest Subarray Division 2 Problem Solution

In this post, we will solve Subarray Division 2 HackerRank Solution. This problem (Subarray Division 2) is a part of the HackerRank Problem Solving series.

## Subarray Division 2 Hacker Rank Problem:

Two children, Lily and Ron, want to share a chocolate bar. Each of the squares has an integer on it.

Lily decides to share a contiguous segment of the bar selected such that:

• The length of the segment matches Ron’s birth month, and,
• The sum of the integers on the squares is equal to his birth day.

Determine how many ways she can divide the chocolate.

Example

s = [2, 2, 1, 3, 2]
d = 4
m = 2
Lily wants to find segments summing to Ron’s birth day, d = 4 with a length equalling his birth month, m = 2. In this case, there are two segments meeting her criteria: [2, 2] and [1, 3].

Function Description

Complete the birthday function in the editor below.

birthday has the following parameter(s):

• int s[n]: the numbers on each of the squares of chocolate
• int d: Ron’s birth day
• int m: Ron’s birth month

Returns

• int: the number of ways the bar can be divided

## Input Format

The first line contains an integer n, the number of squares in the chocolate bar.
The second line contains n space-separated integers s[i], the numbers on the chocolate squares where 0 <= i < n.
The third line contains two space-separated integers, d and m, Ron’s birth day and his birth month.

## Constraints

• 1 <= n <= 100
• 1 <= s[i] <= 5, where (0 <= i < n)
• 1 <= d <= 31
• 1 <= m <= 12

## Subarray Division 2 Hacker Rank Solution

### Problem solution in Java programming:

```    public static int birthday(List<Integer> s, int d, int m) {
int windowLength = m;
int sum = 0;
int count = 0;
int j =0;
while(j <= s.size() - windowLength){
sum =0;
for(int i =j; i< j + windowLength; i++){
sum += s.get(i);
}
if(sum == d){
count++;
}
j++;
}
return count;
}
```

### Problem solution in JavaScript programming:

```function birthday(s, d, m) {
let sum = 0, c = 0, i = 0, j = m;
while(j <= s.length){
for(let x=i; x<j;x++){
sum += s[x]
}
sum  == d && c++;
i++;j++;
sum = 0
}

return c;
}
```

### Problem solution in Python programming:

```def birthday(s, d, m):