문제 38 : 호준이의 아르바이트

less than 1 minute read

문제 38 : 호준이의 아르바이트

// 입출력

// 입력 : 97 86 75 66 55 97 85 97 97 95
// 출력 : 6

풀이 1

const scores = prompt("학생들의 점수를 입력하세요.")
  .split(" ")
  .sort((a, b) => b - a);
// 점수들을 내림차순으로 정렬해서 높은 점수를 앞으로 갖고옴
const result = {};

for (let i = 0; i < scores.length; i++) {
  if (result[scores[i]]) {
    result[scores[i]]++;
  } else {
    result[scores[i]] = 1;
  }
}
const high = Object.keys(result)
  .sort((a, b) => b - a)
  .slice(0, 3);

let icecream = 0;

for (let i = 0; i < 3; i++) {
  icecream += result[high[i]];
}

console.log(icecream);

풀이 2

const scores = prompt("점수입력")
  .split(" ")
  .map(function (n) {
    return parseInt(n, 10);
  });

scores.sort((a, b) => {
  return a - b;
});

let count = 0;
let arr = [];

while (arr.length < 3) {
  let n = scores.pop();
  if (!arr.includes(n)) {
    arr.push(n);
  }
  count += 1;
}

console.log(count);

Leave a comment