HackerRank Subarray Division Problem Solution

 


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