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 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 are acceptable.
There are 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
Complete the plusMinus function in the editor below.
plusMinus has the following parameter(s):
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.
The first line contains an integer, n, the size of the array.
The second line contains n space-separated integers that describe arr[n].
Print the following 3 lines, each to 6 decimals:
1. proportion of positive values
2. proportion of negative values
3. proportion of zeros
6
-4 3 -9 0 4 1
0.500000
0.333333
0.166667
There are 3 positive numbers, 2 negative numbers, and 1 zero in the array.
The proportions of occurrence are positive: 3/6 = 0.500000, negative: 2/6 = 0.333333 and zeros: 1/6 = 0.166667.
const deno = arr.length;
const pos = arr.filter(val => val > 0).length;
const neg = arr.filter(val => val < 0).length;
const zero = arr.filter(val => val === 0).length;
process.stdout.write((pos/deno).toFixed(6)+'\n'+(neg/deno).toFixed(6)+'\n'+(zero/deno).toFixed(6));
funtion
안에 return
을 통해서 답을 제출했었는데, 계속 에러가 나길래 뭔가 했더니,,,, node.js에서 표준스트림으로 process.stdout.write
를 쓴단다....진짜 몰랐따....ㅠㅠprocess.stdout.write
라는 함수였던 것이었다....! 충격쓰.... console.log = function (d) {
process.stdout.write(d + '\n');
};