๐Ÿ’ป FE/๐Ÿ“ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๊ณผ์ผ ์žฅ์ˆ˜ / ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ

Roy Miller 2023. 1. 6. 17:01

 

 

์ €๋Š” ๊ณผ์ผํŒ๋งค์•„ํ‹ฐ์ŠคํŠธ์˜ˆ์š”. 

 

๐Ÿ”—

 

๋ฌธ์ œ์— k(๊ณผ์ผ์˜ ์ตœ๋Œ€ ์ ์ˆ˜)๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ์ง€๋Š” ์•„์ง๊นŒ์ง€๋„ ๋ชจ๋ฅด๊ฒ ์ˆจ. 

์•„๋ฌดํŠผ

 

m๊ฐœ์”ฉ ํŒ”๊ฑฐ์•ผ. (๋‚˜๋จธ์ง€๋Š” ๋‚ด๊ฐ€ ๋จน์Œ)

๋ฌถ์Œ ์ค‘์— ์ œ์ผ ๋‚ฎ์€ ๋“ฑ๊ธ‰ * m ์ด ํ•œ ๋ฌถ์Œ์˜ ๊ฐ€๊ฒฉ

๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์ˆ˜์ต์€ ์–ผ๋งˆ์ธ๊ฐ€?! ํ•˜๋Š” ๋ฌธ์ œ. 

 

1. ๋‚จ์€ ๊ณผ์ผ์„ ๋ฒ„๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ๊ณผ์ผ ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ m ์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋งŒํผ ๋ฐฐ์—ด์—์„œ ๋นผ์ค„๊ฑด๋ฐ, ๋“ฑ๊ธ‰์ด ๋‚ฎ์€ ์• ๋“ค์„ ๋นผ์•ผ๊ฒ ์ง€์š”?

2. ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‚จ์€ ๊ณผ์ผ์„ sort ํ•ด์ฃผ๊ณ  m๊ฐœ์”ฉ ๊ตฌ๋ถ„ํ•œ๋‹ค ์น˜๋ฉด ๊ฐ๊ฐ์˜ ์•ž์— ์žˆ๋Š” ์ˆ˜ * m ์ด ๊ทธ ๋ฌถ์Œ์˜ ๊ฐ€๊ฒฉ ์ด๊ฒ ์ง€์š”? 

 

๐Ÿ”ฅ ๋ฌด์ง€์„ฑ์œผ๋กœ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๊ณ„์‚ฐํ•˜๋ฉด ๋˜๊ฒŸ๋‹ค ํ–ˆ๋Š”๋ฐ

๐Ÿ”ฅ ๊ทธ๋Ÿด ํ•„์š” ์—†์Œ. 

๐Ÿ”ฅ for ๋ฌธ์œผ๋กœ m์‹ ๋›ฐ์–ด ๋„˜์œผ๋ฉด์„œ ์ตœ์ข…๊ฐ’์— ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ๋ฉด ํ•˜๋ฉด ๋จ. 

 

function solution(k, m, score) {
  var appleNum = 0;
  var ans = 0;

  // ๊ณผ์ผ ๋‚˜๋จธ์ง€๋“ค ๋ฒ„๋ฆฌ๊ธฐ
  appleNum = score.length - (score.length % m);

  // ์‚ด์•„๋‚จ์€ ๊ณผ์ผ๋“ค์˜ ๋ฐฐ์—ด
  score = score
    .sort((a, b) => b - a)
    .slice(0, appleNum)
    .sort((a, b) => a - b);

  for (var i = 0; i < score.length; i += m) {
    ans += score[i] * m;
  }
  return ans;
}

console.log(solution(3, 4, [1, 2, 3, 1, 2, 3, 1]));
console.log(solution(4, 3, [4, 1, 2, 2, 4, 4, 4, 4, 1, 2, 4, 2]));