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