728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/135808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이와 코드
문제 설명이 길었지만 풀이법은 꽤 빨리 생각이 났다. 웬일이지?
상자의 가격이 가장 낮은 점수의 사과가 기준이라면 높은 점수 사과들끼리 모아서 한 묶음의 상자로 만드는게 이득이라고 생각했다.
그래서 사과들을 내림차순으로 정렬 후 앞에서부터 상자로 묶고 상자의 마지막 사과의 점수만 더했다.
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int solution(int k, int m, vector<int> score) {
int answer = 0;
sort(score.rbegin(), score.rend());
for(int i=0; i<score.size(); i++){
if ((i+1)%m == 0){
answer += m*score[i];
}
}
return answer;
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 기사단원의 무기 (1) | 2023.11.02 |
---|---|
[프로그래머스] 소수 찾기 (1) | 2023.11.02 |
[프로그래머스] 카드 뭉치 (1) | 2023.10.26 |
[프로그래머스] 명예의 전당(1) (2) | 2023.10.26 |
[프로그래머스] 추억 점수 (2) | 2023.08.15 |