문제
https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=cpp
풀이
검사자의 선택지 사이즈만큼 반복하여 결과를 구한다.
map을 사용하여 각 유형의 점수를 관리하였다.
이와 같이 점수를 다 구하여 각 지표별 성격 유형을 구한다.
코드
#include <string>
#include <vector>
#include <map>
using namespace std;
int score[8] = {0,3,2,1,0,1,2,3};
string solution(vector<string> survey, vector<int> choices) {
string answer = "";
map <char, int> m;
for( int i=0;i<survey.size();i++) {
string sur= survey[i];
int ans= choices[i];
m[sur[ans/4]] += score[ans];
}
answer += m['R'] >= m['T'] ? "R" : "T";
answer += m['C'] >= m['F'] ? "C" : "F";
answer += m['J'] >= m['M'] ? "J" : "M";
answer += m['A'] >= m['N'] ? "A" : "N";
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 하노이의 탑 (JAVA) (0) | 2024.12.08 |
---|---|
[프로그래머스] 뉴스 클러스터링 (C++) (0) | 2022.09.06 |
[프로그래머스] 배달 (C++) (0) | 2022.08.16 |
[프로그래머스] 캐시(C++) (0) | 2021.08.24 |
[프로그래머스] 메뉴 리뉴얼(C++) (0) | 2021.08.22 |