HackerRank Subarray Division Problem Solution in C
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main() {
int n,res=0,sum=0,i,j;
scanf("%d",&n);
int *s = malloc(sizeof(int) * n);
for(int s_i = 0; s_i < n; s_i++){
scanf("%d",&s[s_i]);
}
int d;
int m;
res=0;
scanf("%d %d",&d,&m);
for(i=0;i<n;i++)
{
// res=0;
if(i+m-1<n)
{sum=0;
for(j=i;j<=i+m-1;j++)
sum=sum+s[j];
if(sum==d)
res++;
}
}
printf("%d\n",res);
return 0;
}HackerRank Subarray Division Problem Solution in JavaScript
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
input_stdin += data;
});
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
main();
});
function readLine() {
return input_stdin_array[input_currentline++];
}
/////////////// ignore above this line ////////////////////
function solve(n, s, d, m){
let result = 0;
for (let i = 0; i + m <= s.length; i++) {
let sum = 0;
for (let j = i; j < i + m; j++) {
sum += s[j];
}
if (sum === d) {
result++;
}
}
return result;
}
function main() {
var n = parseInt(readLine());
s = readLine().split(' ');
s = s.map(Number);
var d_temp = readLine().split(' ');
var d = parseInt(d_temp[0]);
var m = parseInt(d_temp[1]);
var result = solve(n, s, d, m);
process.stdout.write(""+result+"\n");
}HackerRank Subarray Division Problem Solution in Python
#!/bin/python3
import sys
def getWays(squares, d, m):
ways=0
for i in range(len(squares)-m+1):
#print(sum(s[i:i+m]))
if sum(s[i:i+m])==d:
ways+=1
return ways
n = int(input().strip())
s = list(map(int, input().strip().split(' ')))
d,m = input().strip().split(' ')
d,m = [int(d),int(m)]
result = getWays(s, d, m)
print(result)
0 Comments