프로그래머스 C# 과일장수(자바)
2023. 4. 17. 06:15ㆍC# 알고리즘 코딩(프로그래머스)
using System;
using System.Linq;
public class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
int index = m-1; // m개씩 나누는데 배열은 0부터 시작하니까 -1해줌.
Array.Sort(score); // 숫자 크기 순서대로 정렬한 뒤에
Array.Reverse(score); // 배열을 뒤집어서 가장 높은 숫자가 각 박스의 맨 앞에 오도록 해서
for(int i = 0; i < score.Length / m; i++)
{
answer += score[index] * m; // 숫자가 가장 높은 과일에 곱하기를 해서 점수를 매긴다.
index += m; // m개씩 나누니까 다음 박스를 계산하게 하기 위해서 플러스m을 해준다.
}
return answer;
}
}
/////
using System;
public class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
int[] kList = new int[k+1];
for(int i=0;i<k+1;i++)
{
kList[i] = 0;
}
for(int i=0;i<score.Length;i++)
{
kList[score[i]]++;
}
for(int i=k;i>=1;i--)
{
while(kList[i] >= m)
{
answer += i * m;
kList[i] -= m;
}
kList[i-1] += kList[i];
}
return answer;
}
}
자바
import java.util.*;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
Arrays.sort(score);
for(int i = score.length; i >= m; i -= m)
{
answer += score[i - m] * m;
}
return answer;
}
}
'C# 알고리즘 코딩(프로그래머스)' 카테고리의 다른 글
프로그래머스 C# 덧셈식 출력하기 (0) | 2023.05.21 |
---|---|
프로그래머스 C# 피자 나눠먹기 (1) (파이썬, 자바) (0) | 2023.04.18 |
프로그래머스 C# 피자 나누어 먹기(3) (파이썬, 자바) (0) | 2023.04.16 |
프로그래머스 C# 직각삼각형 출력하기(파이썬, 자바) (0) | 2023.04.15 |
프로그래머스 C# 배열 뒤집기(파이썬, 자바) (0) | 2023.04.14 |