[HackerRank] Plus Minus

HyeLin·2022년 4월 7일
1
post-thumbnail

[문제]

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 plusMinus(arr) {
  
  let countPlus=0;
  let countMinus=0;
  let countZero=0;
  
  for(let i=0; i<arr.length;i++){
    if(arr[i]>0){
      countPlus++;
    }else if(arr[i]<0){
      countMinus++;
    }else if(arr[i]==0){
      countZero++;
    }
  }
  
  let a=(countPlus/arr.length).toFixed(6);
  let b=(countMinus/arr.length).toFixed(6);
  let c=(countZero/arr.length).toFixed(6)

  console.log(a)
  console.log(b)
  console.log(c)
}

[나의 해석]

양수, 음수, 0의 갯수의 비율을 구하는 문제!

  let countPlus=0;
  let countMinus=0;
  let countZero=0;

 for(let i=0; i<arr.length;i++){
    if(arr[i]>0){
      countPlus++;
    }else if(arr[i]<0){
      countMinus++;
    }else if(arr[i]==0){
      countZero++;
    }
  }
  1. 각각의 갯수를 count해 줄 변수를 선언하고 각 변수에 넣어준다.

  let a=(countPlus/arr.length).toFixed(6);
  let b=(countMinus/arr.length).toFixed(6);
  let c=(countZero/arr.length).toFixed(6);

  console.log(a)
  console.log(b)
  console.log(c)
  1. count된 값을 arr의 길이로 나눠서 비율을 구하고, 소수점 6자리까지 반환해야 하기 때문에 toFixed를 사용하였다.

*나는 답이 number 형태로 제출해야 되는 줄 알고 있었다 .. 그래서 의문이었던 건 toFixed를 사용하면 string형태로 변하게 되는데, 이를 number 형태로 바꾸려고 하면 다 값이 바뀌어버려서.. 그냥 console.log에 찍어서 run code 했더니 통과되었다 !!!

profile
개발자

0개의 댓글