๊ณผ์ผ ์ฅ์๊ฐ ์ฌ๊ณผ ์์๋ฅผ ํฌ์ฅํ๊ณ ์์ต๋๋ค. ์ฌ๊ณผ๋ ์ํ์ ๋ฐ๋ผ 1์ ๋ถํฐ k์ ๊น์ง์ ์ ์๋ก ๋ถ๋ฅํ๋ฉฐ, k์ ์ด ์ต์ํ์ ์ฌ๊ณผ์ด๊ณ 1์ ์ด ์ตํํ์ ์ฌ๊ณผ์ ๋๋ค. ์ฌ๊ณผ ํ ์์์ ๊ฐ๊ฒฉ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ์ ๋ฉ๋๋ค.
๊ณผ์ผ ์ฅ์๊ฐ ๊ฐ๋ฅํ ๋ง์ ์ฌ๊ณผ๋ฅผ ํ์์ ๋, ์ป์ ์ ์๋ ์ต๋ ์ด์ต์ ๊ณ์ฐํ๊ณ ์ ํฉ๋๋ค.(์ฌ๊ณผ๋ ์์ ๋จ์๋ก๋ง ํ๋งคํ๋ฉฐ, ๋จ๋ ์ฌ๊ณผ๋ ๋ฒ๋ฆฝ๋๋ค)
์๋ฅผ ๋ค์ด, k
= 3, m
= 4, ์ฌ๊ณผ 7๊ฐ์ ์ ์๊ฐ [1, 2, 3, 1, 2, 3, 1]์ด๋ผ๋ฉด, ๋ค์๊ณผ ๊ฐ์ด [2, 3, 2, 3]์ผ๋ก ๊ตฌ์ฑ๋ ์ฌ๊ณผ ์์ 1๊ฐ๋ฅผ ๋ง๋ค์ด ํ๋งคํ์ฌ ์ต๋ ์ด์ต์ ์ป์ ์ ์์ต๋๋ค.
์ฌ๊ณผ์ ์ต๋ ์ ์ k
, ํ ์์์ ๋ค์ด๊ฐ๋ ์ฌ๊ณผ์ ์ m
, ์ฌ๊ณผ๋ค์ ์ ์ score
๊ฐ ์ฃผ์ด์ก์ ๋, ๊ณผ์ผ ์ฅ์๊ฐ ์ป์ ์ ์๋ ์ต๋ ์ด์ต์ returnํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
k
โค 9m
โค 10score
์ ๊ธธ์ด โค 1,000,000score[i]
โค kk | m | score | result |
---|---|---|---|
3 | 4 | [1, 2, 3, 1, 2, 3, 1] | 8 |
4 | 3 | [4, 1, 2, 2, 4, 4, 4, 4, 1, 2, 4, 2] | 33 |
์ ์ถ๋ ฅ ์ #1
์ ์ถ๋ ฅ ์ #2
์ฌ๊ณผ ์์ | ๊ฐ๊ฒฉ |
---|---|
[1, 1, 2] | 1 x 3 = 3 |
[2, 2, 2] | 2 x 3 = 6 |
[4, 4, 4] | 4 x 3 = 12 |
[4, 4, 4] | 4 x 3 = 12 |
๋ฐ๋ผ์ (1 x 3 x 1) + (2 x 3 x 1) + (4 x 3 x 2) = 33์ returnํฉ๋๋ค.
1
#include <stdio.h>
2
#include <stdbool.h>
3
#include <stdlib.h>
4
5
// score_len์ ๋ฐฐ์ด score์ ๊ธธ์ด์
๋๋ค.
6
int solution(int k, int m, int score[], size_t score_len) {
7
int answer = 0;
8
return answer;
def solution(k, m, score):
sortdBox = sorted(score, reverse=True) # ์ ์ฒด ์ฌ๊ณผ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
sum = 0
for i in range(m-1, len(score), m): # ์ ๋ ฌ๋ ์ฌ๊ณผ๋ค์ ํ ์์์ ๋ด์ ์ ์๋ ์ฌ๊ณผ์ ์ ๊ฐ๊ฒฉ์ผ๋ก ์นด์ดํธ
sum += sortdBox[i] * m # ๊ฐ์ฅ ์์ ๊ฐ๊ฒฉ์ ์ฌ๊ณผ ๊ฐ * ์์ ๋ด ์ฌ๊ณผ ๊ฐฏ์
return sum