Coding_Test/2022_KAKAO_INTERN
[2022 카카오 인턴] 성격 유형 검사하기 (C++)
Codetesing
2022. 10. 10. 22:23
1번문제로 크게 어렵지 않았으며 알고리즘 없는 구현문제이다.
중간값 처리만 잘 해주면 되었고 선택에 따라 점수만 잘 올려주면 쉽게 구현할 수 있을것이다.
#include <string>
#include <vector>
using namespace std;
// RT, CF, JM, AN < 동의 비동의 >
string solution(vector<string> survey, vector<int> choices) {
string answer = "";
string selection[4] = {"RT", "CF", "JM", "AN"};
int n = survey.size();
int cnt[26] = {0};
for(int i = 0; i < n; i++){
int score = choices[i] - 4;
if(score < 0)
cnt[survey[i][0] - 'A'] += score * -1;
else
cnt[survey[i][1] - 'A'] += score;
}
for(int i = 0; i < 4; i++) {
if(cnt[selection[i][0] - 'A'] > cnt[selection[i][1] - 'A'])
answer = answer + selection[i][0];
else if (cnt[selection[i][0] - 'A'] < cnt[selection[i][1] - 'A'])
answer = answer + selection[i][1];
else
{
if(selection[i][0] > selection[i][1])
answer = answer + selection[i][1];
else
answer = answer + selection[i][0];
}
}
return answer;
}