[코테] HackerRank Plus Minus

Dongmin Lee·2023년 5월 11일
0

코테

목록 보기
3/23

💿 문제

💾 문제 요약

배열 내 양수 0 음수 각각의 비율을 구해라.
단, 소수점 6번째 자리까지 표기하삼.

💿 풀이

for 문으로 배열 검사해서 count 올려주고
count / 배열의 길이에 toFixed(6) 먹여주면 됨.

💾 풀이 코드

"use strict";

process.stdin.resume();
process.stdin.setEncoding("utf-8");

let inputString = "";
let currentLine = 0;

process.stdin.on("data", function (inputStdin) {
  inputString += inputStdin;
});

process.stdin.on("end", function () {
  inputString = inputString.split("\n");

  main();
});

function readLine() {
  return inputString[currentLine++];
}

/*
 * Complete the 'plusMinus' function below.
 *
 * The function accepts INTEGER_ARRAY arr as parameter.
 */

function plusMinus(arr) {
  let plusCnt = 0;
  let minusCnt = 0;
  let zeroCnt = 0;

  for (let i = 0; i < arr.length; i++) {
    switch (true) {
      case arr[i] < 0:
        minusCnt++;
        break;
      case arr[i] === 0:
        zeroCnt++;
        break;
      case arr[i] > 0:
        plusCnt++;
        break;
    }
  }

  console.log((plusCnt / arr.length).toFixed(6));
  console.log((minusCnt / arr.length).toFixed(6));
  console.log((zeroCnt / arr.length).toFixed(6));
}

function main() {
  const n = parseInt(readLine().trim(), 10);

  const arr = readLine()
    .replace(/\s+$/g, "")
    .split(" ")
    .map((arrTemp) => parseInt(arrTemp, 10));

  plusMinus(arr);
}

💿 리마인더

  1. 소수점 나타낼 때 => toFixed 매서드 활용

  2. switch case 문에서 case에 값 대신 조건을 쓰고 싶다면
    switch (true) - case 조건 :

profile
어제보다 성장하기

0개의 댓글