์ ๋ ๊ณผ์ผํ๋งค์ํฐ์คํธ์์.
๋ฌธ์ ์ 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]));