질문마다 판단하는 지표를 담은 1차원 문자열 배열 survey와 검사자가 각 질문마다 선택한 선택지를 담은 1차원 정수 배열 choices가 매개변수로 주어집니다. 이때, 검사자의 성격 유형 검사 결과를 지표 번호 순서대로 return 하도록 solution 함수를 완성해주세요.
-> 자세한 내용 보러가기
import java.util.*;
class Solution {
public String solution(String[] survey, int[] choices) {
StringBuilder sb = new StringBuilder();
//Map에 해당 성격 유형과 점수를 넣는다
Map<String, Integer> map = new HashMap<>();
map.put("RT", 0);
map.put("CF", 0);
map.put("JM", 0);
map.put("AN", 0);
//R C J A < 0 <R F M N
int[] score = {-3, -2, -1, 0, 1, 2, 3};
for(int idx = 0; idx < survey.length; idx++){
//성격 유형별로 if문 생성
if(survey[idx].equals("RT")){
map.put("RT", map.get("RT") + score[choices[idx] -1]);
}else if(survey[idx].equals("TR")){
map.put("RT", map.get("RT") + score[choices[idx] -1] * (-1));
}
if(survey[idx].equals("CF")){
map.put("CF", map.get("CF") + score[choices[idx] -1]);
}else if(survey[idx].equals("FC")){
map.put("CF", map.get("CF") + score[choices[idx] -1] * (-1));
}
if(survey[idx].equals("JM")){
map.put("JM", map.get("JM") + score[choices[idx] -1]);
}else if(survey[idx].equals("MJ")){
map.put("JM", map.get("JM") + score[choices[idx] -1] * (-1));
}
if(survey[idx].equals("AN")){
map.put("AN", map.get("AN") + score[choices[idx] -1]);
}else if(survey[idx].equals("NA")){
map.put("AN", map.get("AN") + score[choices[idx] -1] * (-1));
}
}
sb.append((map.get("RT") <= 0) ? "R" : "T");
sb.append((map.get("CF") <= 0) ? "C" : "F");
sb.append((map.get("JM") <= 0) ? "J" : "M");
sb.append((map.get("AN") <= 0) ? "A" : "N");
return sb.toString();
}
}