[프로그래머스 Lv1] 성격 유형 검사하기

수민이슈·2023년 5월 3일
0

[C++] 코딩테스트

목록 보기
30/116
post-thumbnail

🖊️ 문제

https://school.programmers.co.kr/learn/courses/30/lessons/118666

🖊️ 풀이

당황스럽게도
그냥 타다다닥 쳤는데 노룩성공.. 1트만에,,,
각 유형마다 대비되는 애들이 있지만
순서가 정해져있지 않아 따로따로 구분하는게 나을 것 같았다.
굿

🖊️ 코드

#include <string>
#include <vector>
#include <unordered_map>

using namespace std;
unordered_map<char, int> um;

char CompareUm(char a, char b)
{
    if (um[a] == um[b]) {
        return min(a, b);
    }
    else if (um[a] > um[b])
        return a;
    else
        return b;
}

string solution(vector<string> survey, vector<int> choices) {
    string answer = "";
    
    for (int i = 0 ; i < survey.size() ; i++) {
        int cho = choices[i];
        if (cho == 4) continue;
        else if (cho < 4) {
            um[survey[i][0]] += (4 - cho);
        }
        else {
            um[survey[i][1]] += (cho - 4);
        }
    }
    
    answer += CompareUm('R', 'T');
    answer += CompareUm('C', 'F');
    answer += CompareUm('J', 'M');
    answer += CompareUm('A', 'N');
    
    return answer;
}

0개의 댓글