ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ณผ์ผ ์ฅ์
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ๊ณผ์ผ ์ฅ์
๐ฉ ๋ฌธ์ ์ค๋ช
๊ณผ์ผ ์ฅ์๊ฐ ์ฌ๊ณผ ์์๋ฅผ ํฌ์ฅํ๊ณ ์์ต๋๋ค. ์ฌ๊ณผ๋ ์ํ์ ๋ฐ๋ผ 1์ ๋ถํฐ k์ ๊น์ง์ ์ ์๋ก ๋ถ๋ฅํ๋ฉฐ, k์ ์ด ์ต์ํ์ ์ฌ๊ณผ์ด๊ณ 1์ ์ด ์ตํํ์ ์ฌ๊ณผ์ ๋๋ค. ์ฌ๊ณผ ํ ์์์ ๊ฐ๊ฒฉ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ์ ๋ฉ๋๋ค.
๐ ํ ์์์ ์ฌ๊ณผ๋ฅผ m๊ฐ์ฉ ๋ด์ ํฌ์ฅํฉ๋๋ค.
๐ ์์์ ๋ด๊ธด ์ฌ๊ณผ ์ค ๊ฐ์ฅ ๋ฎ์ ์ ์๊ฐ p (1 โค p โค k)์ ์ธ ๊ฒฝ์ฐ, ์ฌ๊ณผ ํ ์์์ ๊ฐ๊ฒฉ์ p * m ์
๋๋ค.
๊ณผ์ผ ์ฅ์๊ฐ ๊ฐ๋ฅํ ๋ง์ ์ฌ๊ณผ๋ฅผ ํ์์ ๋, ์ป์ ์ ์๋ ์ต๋ ์ด์ต์ ๊ณ์ฐํ๊ณ ์ ํฉ๋๋ค.(์ฌ๊ณผ๋ ์์ ๋จ์๋ก๋ง ํ๋งคํ๋ฉฐ, ๋จ๋ ์ฌ๊ณผ๋ ๋ฒ๋ฆฝ๋๋ค) ์๋ฅผ ๋ค์ด, k = 3, m = 4, ์ฌ๊ณผ 7๊ฐ์ ์ ์๊ฐ [1, 2, 3, 1, 2, 3, 1]์ด๋ผ๋ฉด, ๋ค์๊ณผ ๊ฐ์ด [2, 3, 2, 3]์ผ๋ก ๊ตฌ์ฑ๋ ์ฌ๊ณผ ์์ 1๊ฐ๋ฅผ ๋ง๋ค์ด ํ๋งคํ์ฌ ์ต๋ ์ด์ต์ ์ป์ ์ ์์ต๋๋ค.
๐ (์ต์ ์ฌ๊ณผ ์ ์) x (ํ ์์์ ๋ด๊ธด ์ฌ๊ณผ ๊ฐ์) x (์์์ ๊ฐ์) = 2 x 4 x 1 = 8
์ฌ๊ณผ์ ์ต๋ ์ ์ k, ํ ์์์ ๋ค์ด๊ฐ๋ ์ฌ๊ณผ์ ์ m, ์ฌ๊ณผ๋ค์ ์ ์ score๊ฐ ์ฃผ์ด์ก์ ๋, ๊ณผ์ผ ์ฅ์๊ฐ ์ป์ ์ ์๋ ์ต๋ ์ด์ต์ returnํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ 3 โค k โค 9, 3 โค m โค 10
โ 7 โค score์ ๊ธธ์ด โค 1,000,000, 1 โค score[i] โค k
๐ค ์ด์ต์ด ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ์๋ 0์ return ํด์ฃผ์ธ์.
๐ฉ ๋ฌธ์ ํ์ด
function solution(k, m, score) {
// k : ์ต์ํ ์ฌ๊ณผ ์ ์
// m : ์ฌ๊ณผ๋ฅผ ๋ด๋ ๊ฐ์
let answer = 0;
let apples = score.sort((a, b) => b - a);
let applebox = Math.floor(apples.length/m)
let price = 0;
for(i=1; i<=applebox; i++){
price += apples[i * m - 1] * m
}
return price;
}
์ฒ์์ applebox๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ ์ง์ ์ฌ๊ณผ๋ค์ ๋ด์์๋๋ฐ ์๊พธ ์๊ฐ ์ด๊ณผ๊ฐ ๋์ด์ ์ง์ฆ์ด ๋ฌ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์๊ฐํด๋ณด๋ ๊ตณ์ด ๋ด์ ํ์ ์์ด, ์ ๋ ฌํ ์ํ์์ m๋ฒ์งธ์ ์๋ ์ฌ๊ณผ์ ์ ์์ m์ ๊ณฑํ๊ธฐ๋ง ํ๋ฉด ๋๋๋ผ๊ณ ์. ๋ ์ง์ฆ์ด ๋ฌ์ง๋ง ์๋ฌดํผ ํ์์ผ๋๊น ๋์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
solution = (_, m, s) => s.sort().filter((_, i) => !((s.length - i) % m)).reduce((a, v) => a + v, 0) * m
filter() ๋ถ๋ถ์ด ์ ์ดํด๊ฐ ์ ๋๋๋ฐ ๋ฌธ์ ๋ฅผ 2000๋ช ๋ฐ์ ์ ํ์ด์ ๊ทธ๋ฐ์ง ๋ค๋ฅธ ํ์ด๋ ๋ฑํ ์๊ณ ํด์ค๋ ์๋ค์. ์์~
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ ์ํธ (3) | 2022.12.01 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (2) | 2022.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (2) | 2022.11.29 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (3) | 2022.11.28 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ฐ์ ์ซ์๋ ์ซ์ด (2) | 2022.11.27 |
๋๊ธ