In this **Hacker Rank Plus Minus problem solution,** Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with 6 places after the decimal.

Note: This challenge introduces precision problems. The test cases are scaled to six decimal places, though answers with absolute error of up to 10^-4 are acceptable.

**Example**

arr = [1,1,0,-1,-1]

There are n = 5 elements, two positive, two negative and one zero. Their ratios are 2/5=0.400000, 2/5=0.400000 and 1/5=0.200000. Results are printed as:

0.400000

0.400000

0.200000

**Function Description**

Complete the plusMinus function in the editor below.

plusMinus has the following parameter(s):

- int arr[n]: an array of integers

**Print**

Print the ratios of positive, negative and zero values in the array. Each value should be printed on a separate line with 6 digits after the decimal. The function should not return a value.

**Input Format**

The first line contains an integer, n, the size of the array.

The second line contains n space-separated integers that describe .

**Constraints**

- 0 < n <= 100
- -100 <= arr[i] <= 100

**Output Format**

Print the following 3 lines, each to 6 decimals:

- proportion of positive values
- proportion of negative values
- proportion of zeros

## Plus Minus Hacker Rank Problem Solution JavaScript:

```
function plusMinus(arr) {
let [negCount, zerCount, posCount] = [0, 0, 0];
for (const num of arr) {
if (num < 0) ++negCount;
if (num == 0) ++zerCount;
if (num > 0) ++posCount;
}
console.log((posCount / arr.length).toFixed(6));
console.log((negCount / arr.length).toFixed(6));
console.log((zerCount / arr.length).toFixed(6));
}
```

## Plus Minus Hacker Rank Problem Solution Python:

```
def plusMinus(arr):
n = len(arr)
cnt = arr.count(0)
if cnt == 0:
arr.append(0)
idx = sorted(arr).index(0)
neg = idx / n
zeros = cnt / n
pos = 1 - neg - zeros
print(pos)
print(neg)
print(zeros)
```

## Leave a Reply