4개의 지표가 있고
지표에 관한 설문이 주어질 때 답안에 따라 점수를 부여하여 높은 점수를 가진 성격 유형을 가진다
이때 동점일 경우 사전순으로 빠른 유형을 선택한다.
public String solution(String[] survey, int[] choices) {
String answer = "";
Map<String,Integer> map = new HashMap<String,Integer>();
for (int i = 0; i < choices.length; i++) {
String before =survey[i].charAt(0)+"";
String after =survey[i].charAt(1)+"";
if(choices[i]==1) {
map.put(before, map.getOrDefault(before, 0)+3);
}else if(choices[i]==2) {
map.put(before, map.getOrDefault(before, 0)+2);
}else if(choices[i]==3) {
map.put(before, map.getOrDefault(before, 0)+1);
}else if(choices[i]==4) {
}else if(choices[i]==5) {
map.put(after, map.getOrDefault(after, 0)+1);
}else if(choices[i]==6) {
map.put(after, map.getOrDefault(after, 0)+2);
}else if(choices[i]==7) {
map.put(after, map.getOrDefault(after, 0)+3);
}
}
if(map.getOrDefault("T",0)>map.getOrDefault("R",0)) {
answer+="T";
}else {
answer+="R";
}
if(map.getOrDefault("F",0)>map.getOrDefault("C",0)) {
answer+="F";
}else {
answer+="C";
}
if(map.getOrDefault("M",0)>map.getOrDefault("J",0)) {
answer+="M";
}else {
answer+="J";
}
if(map.getOrDefault("N",0)>map.getOrDefault("A",0)) {
answer+="N";
}else {
answer+="A";
}
return answer;
}
map에 각 유형과 점수를 저장한다.
점수가 같으면 사전순으로 빠른 유형이 answer에 더해진다.
'Java > Coding Test' 카테고리의 다른 글
삼총사 문제풀이 (0) | 2023.09.25 |
---|---|
문자열 내 마음대로 정렬하기 문제풀이 (0) | 2023.09.25 |
약수의 개수와 덧셈 문제풀이 (0) | 2023.09.24 |
달리기 경주 문제풀이 (0) | 2023.09.24 |
공원 산책 문제풀이 (0) | 2023.09.24 |