https://school.programmers.co.kr/learn/courses/30/lessons/92342
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <string>
#include <vector>
using namespace std;
int calcScore(int n, int state, vector<int> &info, vector<int> &v) {
int score = 0;
for (int i = 0; i < 10; ++i) {
if (state & (1 << i)) {
n -= info[i] + 1;
if (n < 0) return -1;
score += 10 - i;
v[i] = info[i] + 1;
}
else {
v[i] = 0;
if (info[i]) score -= 10 - i;
}
}
v[10] = n;
return score;
}
vector<int> solution(int n, vector<int> info) {
vector<int> ans(11);
int result = 0;
for (int i = 0; i < 1024; ++i) {
vector<int> v(11);
int score = calcScore(n, i, info, v);
if (result < score) {
result = score;
ans = v;
}
else if (result == score) {
for (int j = 10; j >= 0; --j) {
if (ans[j] == v[j]) continue;
if (ans[j] < v[j]) ans = v;
break;
}
}
}
if (result > 0) return ans;
return { -1 };
}
'알고리즘 > programmers' 카테고리의 다른 글
2022 KAKAO TECH INTERNSHIP 행렬과 연산 (0) | 2022.10.30 |
---|---|
2022 KAKAO TECH INTERNSHIP / 코딩 테스트 공부 (0) | 2022.10.10 |
2022 KAKAO BLIND RECRUITMENT / 사라지는 발판 (0) | 2022.10.03 |
2022 KAKAO BLIND RECRUITMENT / 파괴되지 않은 건물 (0) | 2022.10.03 |
2022 KAKAO BLIND RECRUITMENT / 양과 늑대 (0) | 2022.10.03 |